
    5j=                    Z    S SK Jr  S SKJrJr  S SKJr  S SKJr  S SK	J
r
   " S S\5      rg)	    )annotations)ABCabstractmethod)
ModuleType)parse_storage_uri)Iterablec                     \ rS rSr        SS jrSS jr\\  SS j5       5       r\SS j5       r	\SS j5       r
\SS j5       r\SSS jj5       r\  S         SS	 jj5       r\SS
 j5       r\SS j5       rSrg)MemcachedBridge
   c                x   Xl         [        U5      U l        X l        U R                  R                  U l        X0l        U R                  R                  (       a#  U R                  R                  U R                  S'   U R                  R                  (       a$  U R                  R                  U R                  S'   g g )Nusernamepassword)	urir   
parsed_uri
dependency	locationshostsoptionsr   r   )selfr   r   r   s       b/root/lseg-credit/backend/venv/lib/python3.13/site-packages/limits/aio/storage/memcached/bridge.py__init__MemcachedBridge.__init__   s     +C0$__..
??##'+'?'?DLL$??##'+'?'?DLL$ $    c                    US-   $ )z
Return the expiration key for the given counter key.

Memcached doesn't natively return the expiration time or TTL for a given key,
so we implement the expiration time on a separate key.
z/expires r   keys     r   _expiration_keyMemcachedBridge._expiration_key   s     Zr   c                    g Nr   r   s    r   base_exceptionsMemcachedBridge.base_exceptions%   s     9<r   c                   #    g 7fr!   r   r   s     r   getMemcachedBridge.get+   s     *-   c                   #    g 7fr!   r   )r   keyss     r   get_manyMemcachedBridge.get_many.   s     GJr(   c                   #    g 7fr!   r   r   s     r   clearMemcachedBridge.clear1   s     -0r(   c                   #    g 7fr!   r   )r   r   amountnoreplys       r   decrMemcachedBridge.decr4   s     SVr(   c                   #    g 7fr!   r   )r   r   expiryr1   set_expiration_keys        r   incrMemcachedBridge.incr7   s
      r(   c                   #    g 7fr!   r   r   s     r   
get_expiryMemcachedBridge.get_expiry@   s     36r(   c                   #    g 7fr!   r   r"   s    r   checkMemcachedBridge.checkC   s     #&r(   )r   r   r   r   r   N)r   strr   r   r   zfloat | str | boolreturnNone)r   r@   rA   r@   )rA   z-type[Exception] | tuple[type[Exception], ...])r   r@   rA   int)r*   zIterable[str]rA   zdict[bytes, int])r   r@   rA   rB   )   F)r   r@   r1   rC   r2   boolrA   rC   )rD   T)
r   r@   r6   floatr1   rC   r7   rE   rA   rC   )r   r@   rA   rF   )rA   rE   )__name__
__module____qualname____firstlineno__r   r   propertyr   r#   r&   r+   r.   r3   r8   r;   r>   __static_attributes__r   r   r   r
   r
   
   s    @@ @ &	@
 
@"  <	6<  < - -J J0 0V V
 #'  	
 ! 
  6 6& &r   r
   N)
__future__r   abcr   r   typesr   limits._storage_schemer   limits.typingr   r
   r   r   r   <module>rR      s     " #  4 ":'c :'r   