o
    !2g                     @   sR   d dl Z d dlmZ d dlmZ d dlmZmZmZ ddl	m
Z
 G dd dZdS )	    N)abstractmethod)Path)IteratorOptionalSequence   )
SourceHashc                   @   s   e Zd ZededejddfddZedd Zdd	d
Z	de
e fddZde
e fddZdee fddZdefddZdeddfddZdee ddfddZdeddfddZdS )AbstractBackend
cache_pathloggerreturnNc                C      t NNotImplementedError)selfr
   r    r   M/home/garg/my-data/venv/lib/python3.10/site-packages/cachew/backend/common.py__init__      zAbstractBackend.__init__c                 C   r   r   r   r   r   r   r   	__enter__   r   zAbstractBackend.__enter__c                 G   r   r   r   )r   argsr   r   r   __exit__      zAbstractBackend.__exit__c                 C   r   r   r   r   r   r   r   get_old_hash   r   zAbstractBackend.get_old_hashc                 C   r   r   r   r   r   r   r   cached_blobs_total   r   z"AbstractBackend.cached_blobs_totalc                 C   r   r   r   r   r   r   r   cached_blobs   r   zAbstractBackend.cached_blobsc                 C   r   )z?
        Returns whether it actually managed to get it
        r   r   r   r   r   get_exclusive_write"   s   z#AbstractBackend.get_exclusive_writenew_hashc                 C   r   r   r   r   r   r   r   r   write_new_hash(   r   zAbstractBackend.write_new_hashchunkc                 C   r   r   r   )r   r"   r   r   r   flush_blobs+   r   zAbstractBackend.flush_blobsc                 C   r   r   r   r    r   r   r   finalize.   r   zAbstractBackend.finalize)r   N)__name__
__module____qualname__r   r   loggingLoggerr   r   r   r   r   r   intr   r   bytesr   boolr   r!   r   r#   r$   r   r   r   r   r	      s    

r	   )r(   abcr   pathlibr   typingr   r   r   commonr   r	   r   r   r   r   <module>   s    