ó 9(Zc@sJdZddlZddlZejejƒdefd„ƒYƒZdS(sNBase class interface for caches for use with caching crypto material managers.iÿÿÿÿNtCryptoMaterialsCachecBsYeZdZejdd„ƒZejd„ƒZejd„ƒZejd„ƒZ RS(sOParent interface for crypto materials caches. .. versionadded:: 1.3.0 cCsdS(sJAdds encryption materials to the cache. :param bytes cache_key: Identifier for entries in cache :param encryption_materials: Encryption materials to add to cache :type encryption_materials: aws_encryption_sdk.materials_managers.EncryptionMaterials :param int plaintext_length: Length of plaintext associated with this request to the cache :param entry_hints: Metadata to associate with entry (optional) :type entry_hints: aws_encryption_sdk.caches.CryptoCacheEntryHints :rtype: aws_encryption_sdk.caches.CryptoCacheEntry N((tselft cache_keytencryption_materialstplaintext_lengtht entry_hints((sJ/tmp/pip-build-wDUJoH/aws-encryption-sdk/aws_encryption_sdk/caches/base.pytput_encryption_materialsscCsdS(sSAdds decryption materials to the cache :param bytes cache_key: Identifier for entries in cache :param decryption_materials: Decryption materials to add to cache :type decryption_materials: aws_encryption_sdk.materials_managers.DecryptionMaterials :rtype: aws_encryption_sdk.caches.CryptoCacheEntry N((RRtdecryption_materials((sJ/tmp/pip-build-wDUJoH/aws-encryption-sdk/aws_encryption_sdk/caches/base.pytput_decryption_materials'scCsdS(sÝLocates exactly one available encryption materials cache entry for the specified cache_key, incrementing the entry's usage stats prior to returning it to the caller. :param bytes cache_key: Cache ID for which to locate cache entries :param int plaintext_length: Bytes to be encrypted by the encryption materials :rtype: aws_encryption_sdk.caches.CryptoCacheEntry :raises CacheKeyError: if no values found in cache for cache_key N((RRR((sJ/tmp/pip-build-wDUJoH/aws-encryption-sdk/aws_encryption_sdk/caches/base.pytget_encryption_materials1scCsdS(s4Locates exactly one available decryption materials cache entry for the specified cache_key. :param bytes cache_key: Cache ID for which to locate cache entries :rtype: aws_encryption_sdk.caches.CryptoCacheEntry :raises CacheKeyError: if no values found in cache for cache_key N((RR((sJ/tmp/pip-build-wDUJoH/aws-encryption-sdk/aws_encryption_sdk/caches/base.pytget_decryption_materials<sN( t__name__t __module__t__doc__tabctabstractmethodtNoneRRR R (((sJ/tmp/pip-build-wDUJoH/aws-encryption-sdk/aws_encryption_sdk/caches/base.pyRs    (R Rtsixt add_metaclasstABCMetatobjectR(((sJ/tmp/pip-build-wDUJoH/aws-encryption-sdk/aws_encryption_sdk/caches/base.pyt s