
    k7i                        S SK Jr  S SKJr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KJr  \ " S S	5      5       r\ " S
 S\5      5       r\ " S S\5      5       r\ " S S\5      5       r\ " S S\5      5       r\ " S S\5      5       r\ " S S\5      5       r\ " S S\5      5       r\ " S S5      5       r " S S\5      rg)    )Sequence)	dataclassfield)AnySupportsFloat)override)AsyncKeyValue)DEFAULT_COLLECTION_NAME)BaseWrapperc                   L    \ rS rSr% Sr\" SS9r\\S'    SS.S\S	S
4S jjr	Sr
g
)BaseStatistics   z2Base statistics container with operation counting.r   defaultcount   	incrementr   returnNc                .    U =R                   U-  sl         g N)r   selfr   s     c/home/james-whalen/.local/lib/python3.13/site-packages/key_value/aio/wrappers/statistics/wrapper.pyr   BaseStatistics.increment   s    

i
     )__name__
__module____qualname____firstlineno____doc__r   r   int__annotations__r   __static_attributes__r   r   r   r   r      s2    <q!E3!#,-  c  $    r   r   c                   ~    \ rS rSr% Sr\" SS9r\\S'    \" SS9r	\\S'    SS.S	\S
S4S jjr
SS.S	\S
S4S jjrSrg)BaseHitMissStatistics   zFStatistics container with hit/miss tracking for cache-like operations.r   r   hitmissr   r   r   r   Nc                L    U R                  US9  U =R                  U-  sl        g Nr   )r   r)   r   s     r   increment_hit#BaseHitMissStatistics.increment_hit    s    +Ir   c                L    U R                  US9  U =R                  U-  sl        g r,   )r   r*   r   s     r   increment_miss$BaseHitMissStatistics.increment_miss$   s    +		Y	r   r   )r   r   r    r!   r"   r   r)   r#   r$   r*   r-   r0   r%   r   r   r   r'   r'      s\    PQCa D# 01 # d  23 3 t  r   r'   c                       \ rS rSrSrSrg)GetStatistics)   3A class for statistics about a KV Store collection.r   Nr   r   r    r!   r"   r%   r   r   r   r3   r3   )       =r   r3   c                       \ rS rSrSrSrg)PutStatistics.   r5   r   Nr6   r   r   r   r9   r9   .   r7   r   r9   c                       \ rS rSrSrSrg)DeleteStatistics3   r5   r   Nr6   r   r   r   r<   r<   3   r7   r   r<   c                       \ rS rSrSrSrg)ExistsStatistics8   r5   r   Nr6   r   r   r   r?   r?   8   r7   r   r?   c                       \ rS rSrSrSrg)TTLStatistics=   r5   r   Nr6   r   r   r   rB   rB   =   r7   r   rB   c                       \ rS rSr% Sr\" \S9r\\S'    \" \	S9r
\	\S'    \" \S9r\\S'    \" \S9r\\S'    \" \S9r\\S'   S	rg
)KVStoreCollectionStatisticsB   r5   default_factorygetttlputdeleteexistsr   N)r   r   r    r!   r"   r   r3   rI   r$   rB   rJ   r9   rK   r<   rL   r?   rM   r%   r   r   r   rE   rE   B   sc    =}=C=/}=C=/}=C=/$5EFFF2$5EFFF2r   rE   c                   L    \ rS rSr% Sr\" \S9r\\\	4   \
S'   S\S\	4S jrSrg	)
KVStoreStatisticsV   z$Statistics container for a KV Store.rG   collections
collectionr   c                 l    XR                   ;  a  [        5       U R                   U'   U R                   U   $ r   )rQ   rE   )r   rR   s     r   get_collection KVStoreStatistics.get_collection\   s2    ---+F+HDZ(
++r   r   N)r   r   r    r!   r"   r   dictrQ   strrE   r$   rT   r%   r   r   r   rO   rO   V   s4    .:?PT:UKc667U, ,1L ,r   rO   c                   |   \ rS rSrSrS\SS4S jr\S\4S j5       r	\
SS.S	\S
\S-  S\\\4   S-  4S jj5       r\
SS.S	\S
\S-  S\\\\4   S-  \S-  4   4S jj5       r\
SSS.S	\S\\\4   S
\S-  S\S-  SS4
S jj5       r\
SS.S	\S
\S-  S\4S jj5       r\
SS.S\\   S
\S-  S\\\\4   S-     4S jj5       r\
SSS.S\\   S\\\\4      S
\S-  S\\S-     S-  SS4
S jj5       r\
SS.S\\   S
\S-  S\4S jj5       r\
SS.S\\   S
\S-  S\\\\\4   S-  \S-  4      4S jj5       rSrg)StatisticsWrapperb   zStatistics wrapper around a KV Store that tracks operation statistics.

Note: enumeration and destroy operations are not tracked by this wrapper.
	key_valuer   Nc                 .    Xl         [        5       U l        g r   )r[   rO   _statistics)r   r[   s     r   __init__StatisticsWrapper.__init__h   s    (1.?.Ar   c                     U R                   $ r   )r]   )r   s    r   
statisticsStatisticsWrapper.statisticsl   s    r   rR   keyrR   c                F  #    U=(       d    [         nU R                  R                  X!S9I S h  vN =n(       a3  U R                  R	                  US9R                  R                  5         U$ U R                  R	                  US9R                  R                  5         g  Np7f)NrR   rd   rc   )r
   r[   rI   ra   rT   r-   r0   )r   rd   rR   values       r   rI   StatisticsWrapper.getp   s     :#:
..,,
,LLL5LOO**j*AEESSUL&&*&=AAPPR Ms   ,B!BA1B!c                L  #    U=(       d    [         nU R                  R                  X!S9I S h  vN u  p4U(       a4  U R                  R	                  US9R                  R                  5         X44$ U R                  R	                  US9R                  R                  5         g Ns7f)Nrf   rc   )NN)r
   r[   rJ   ra   rT   r-   r0   )r   rd   rR   rg   rJ   s        r   rJ   StatisticsWrapper.ttl|   s     :#:
>>---MM
OO**j*AEESSU:&&*&=AAPPR Ns   ,B$B"A4B$)rR   rJ   rg   rJ   c                   #    U=(       d    [         nU R                  R                  X1X$S9I S h  vN   U R                  R	                  US9R                  R                  5         g  N67f)N)rR   rd   rg   rJ   rc   )r
   r[   rK   ra   rT   r   )r   rd   rg   rR   rJ   s        r   rK   StatisticsWrapper.put   sW     :#:
nn  Ju VVV&&*&=AAKKM 	Ws   -A(A&7A(c                @  #    U=(       d    [         nU R                  R                  X!S9I S h  vN (       a2  U R                  R	                  US9R                  R                  5         gU R                  R	                  US9R                  R                  5         g Nm7f)Nrf   rc   TF)r
   r[   rL   ra   rT   r-   r0   )r   rd   rR   s      r   rL   StatisticsWrapper.delete   s     :#:
&&*&FFFOO**j*AHHVVX&&*&=DDSSU Gs   ,BBA.Bkeysc                  #    U=(       d    [         nU R                  R                  XS9I S h  vN n[        U Vs/ s H	  oDc  M  UPM     sn5      n[        U Vs/ s H	  oDb  M  UPM     sn5      nU R                  R                  US9R                  R                  US9  U R                  R                  US9R                  R                  US9  U$  Ns  snf s  snf 7fNro   rR   rc   r   )	r
   r[   get_manylenra   rT   rI   r-   r0   r   ro   rR   resultsresulthitsmissess          r   rs   StatisticsWrapper.get_many   s     :#:
59^^5L5LRV5L5n/nGvFGH7E7f7EF&&*&=AAOOZ^O_&&*&=AAPP[aPb 0oGEs9   ,C!CC!CCC!C&C,A*C!
C!valuesc                   #    U=(       d    [         nU R                  R                  XX4S9I S h  vN   U R                  R	                  US9R
                  R                  [        U5      S9  g  N>7f)N)ro   r{   rR   rJ   rc   r   )r
   r[   put_manyra   rT   rK   r   rt   )r   ro   r{   rR   rJ   s        r   r}   StatisticsWrapper.put_many   se       :#:
nn%%4:%___&&*&=AAKKVYZ^V_K` 	`s   -A0A.?A0c                R  #    U=(       d    [         nU R                  R                  XS9I S h  vN nUn[        U5      U-
  nU R                  R                  US9R                  R                  US9  U R                  R                  US9R                  R                  US9  U$  Nv7frq   )	r
   r[   delete_manyrt   ra   rT   rL   r-   r0   )r   ro   rR   deleted_countrx   ry   s         r   r   StatisticsWrapper.delete_many   s     :#:
#'>>#=#=4#=#__T]*&&*&=DDRR]aRb&&*&=DDSS^dSe `s   ,B'B%A7B'c                  #    U=(       d    [         nU R                  R                  XS9I S h  vN n[        U Vs/ s H  oDS   c  M
  UPM     sn5      n[        U Vs/ s H  oDS   b  M
  UPM     sn5      nU R                  R                  US9R                  R                  US9  U R                  R                  US9R                  R                  US9  U$  Ns  snf s  snf 7f)Nrr   r   rc   r   )	r
   r[   ttl_manyrt   ra   rT   rJ   r-   r0   ru   s          r   r   StatisticsWrapper.ttl_many   s     :#:
JN..JaJagkJa  KD  EDJv1IFJK7H7Qif7HI&&*&=AAOOZ^O_&&*&=AAPP[aPb EDJHs9   ,C'CC'	C	CC'	C",C"2A*C'
C')r]   r[   )r   r   r    r!   r"   r	   r^   propertyrO   ra   r   rW   rV   r   rI   tuplefloatrJ   r   rK   boolrL   listrs   r   r}   r#   r   r   r%   r   r   r   rY   rY   b   s   
B- BD B  -     >B 	S 	t 	tCQTH~X\G\ 	 	 >B 
S 
t 
uTRUWZRZ^^bMbdilpdpMpGq 
 
 UYw{ NS Nc3h Nd
 N`mpt`t N  AE N N AE 	 	C$J 	$ 	 	 JN 49 S4Z SWX\]`be]eXfimXmSn    "&59a3ia c3h(a
 $Ja md*+d2a 
a a MQ d3i d
 VY   JN 49 S4Z SWX]^bcfhkck^los^suz  ~B  vB  _B  YC  TD  r   rY   N)collections.abcr   dataclassesr   r   typingr   r   typing_extensionsr   !key_value.aio.protocols.key_valuer	   key_value.aio.stores.baser
   key_value.aio.wrappers.baser   r   r'   r3   r9   r<   r?   rB   rE   rO   rY   r   r   r   <module>r      s   $ ( % & ; = 3       N  " >) > > >N > > >, > > >, > > >) > > 3. 3 3& , , ,r rr   