3 Re(* @ s d dl mZ yd dlmZmZ W n$ ek rD d dlmZmZ Y nX yd dlmZ W n" ek rx G dd dZY nX d dlm Z ddl mZ dd lm Z mZmZ d dgZe ZG dd d eZG d d deZdS ) )absolute_import)MappingMutableMapping)RLockc @ s e Zd Zdd Zdd ZdS )r c C s d S )N )selfr r /builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el9.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/urllib3/_collections.py __enter__ s zRLock.__enter__c C s d S )Nr )r exc_type exc_value tracebackr r r __exit__ s zRLock.__exit__N)__name__ __module____qualname__r r r r r r r s r )OrderedDict ) InvalidHeader)iterkeys itervaluesPY3RecentlyUsedContainerHTTPHeaderDictc @ sV e Zd ZdZeZdddZdd Zdd Zd d Z dd Z dd Zdd Zdd Z dS )r a Provides a thread-safe dict-like container which maintains up to ``maxsize`` keys while throwing away the least-recently-used keys beyond ``maxsize``. :param maxsize: Maximum number of recent elements to retain. :param dispose_func: Every time an item is evicted from the container, ``dispose_func(value)`` is called. Callback which will get called Nc C s" || _ || _| j | _t | _d S )N)_maxsizedispose_funcContainerCls _containerr lock)r maxsizer r r r __init__. s zRecentlyUsedContainer.__init__c C s, | j | jj|}|| j|<