
^V                 @   sF   d  Z  d d l m Z Gd d   d e  Z Gd d   d e  Z d S)zb
The cache object API for implementing caches. The default is a thread
safe in-memory dictionary.
    )Lockc               @   s@   e  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 S)
	BaseCachec             C   s   t     d  S)N)NotImplemented)selfkey r   =/tmp/pip-build-9m6vxulb/pip/pip/_vendor/cachecontrol/cache.pyget
   s    zBaseCache.getc             C   s   t     d  S)N)r   )r   r   valuer   r   r   set   s    zBaseCache.setc             C   s   t     d  S)N)r   )r   r   r   r   r   delete   s    zBaseCache.deletec             C   s   d  S)Nr   )r   r   r   r   close   s    zBaseCache.closeN)__name__
__module____qualname__r	   r   r   r   r   r   r   r   r      s   r   c               @   sC   e  Z d  Z d d d  Z d d   Z d d   Z d d	   Z d S)
	DictCacheNc             C   s   t    |  _ | p i  |  _ d  S)N)r   lockdata)r   	init_dictr   r   r   __init__   s    zDictCache.__init__c             C   s   |  j  j | d   S)N)r   r	   )r   r   r   r   r   r	      s    zDictCache.getc             C   s+   |  j   |  j j i | | 6 Wd  QXd  S)N)r   r   update)r   r   r
   r   r   r   r       s    
zDictCache.setc          	   C   s6   |  j  ' | |  j k r, |  j j |  n  Wd  QXd  S)N)r   r   pop)r   r   r   r   r   r   $   s    
zDictCache.delete)r   r   r   r   r	   r   r   r   r   r   r   r      s   r   N)__doc__	threadingr   objectr   r   r   r   r   r   <module>   s   