
    osj                    h    d dl mZ d dlZd dlZd dlZ G d d      Z G d de      Z G d de      Zy)	    )annotationsNc                      e Zd ZddZy)PingManagerBasec                *    t        j                         S N)secretstoken_bytesselfs    J/root/.hermes/venv/lib/python3.12/site-packages/httpx2/websockets/_ping.py_generate_idzPingManagerBase._generate_id
   s    ""$$    N)returnbytes)__name__
__module____qualname__r    r   r   r   r   	   s    %r   r   c                  &    e Zd ZddZdddZddZy)	PingManagerc                    i | _         y r   _pingsr
   s    r   __init__zPingManager.__init__   s	    46r   Nc                x    |s| j                         n|}t        j                         }|| j                  |<   ||fS r   )r   	threadingEventr   r   ping_idevents      r   createzPingManager.create   s8    -4$##%'!$G~r   c                l    | j                   j                  t        |            }|j                          y r   r   popr   setr   s      r   ackzPingManager.ack   !    g/		r   r   Noner   )r   bytes | Noner   ztuple[bytes, threading.Event]r   zbytes | bytearrayr   r)   r   r   r   r   r!   r&   r   r   r   r   r      s    7r   r   c                  &    e Zd ZddZdddZddZy)	AsyncPingManagerc                    i | _         y r   r   r
   s    r   r   zAsyncPingManager.__init__   s	    02r   Nc                x    |s| j                         n|}t        j                         }|| j                  |<   ||fS r   )r   anyior   r   r   s      r   r!   zAsyncPingManager.create!   s7    -4$##%'$G~r   c                l    | j                   j                  t        |            }|j                          y r   r#   r   s      r   r&   zAsyncPingManager.ack'   r'   r   r(   r   )r   r*   r   ztuple[bytes, anyio.Event]r+   r,   r   r   r   r.   r.      s    3r   r.   )
__future__r   r   r   r1   r   r   r.   r   r   r   <module>r4      s3    "   % %
/  r   