o
    ùT·jê  ã                   @  sV   d dl mZ d dlZd dlZd dlZG dd„ dƒZG dd„ deƒZG dd„ deƒZdS )	é    )ÚannotationsNc                   @  s   e Zd Zddd„ZdS )ÚPingManagerBaseÚreturnÚbytesc                 C  s   t  ¡ S ©N)ÚsecretsÚtoken_bytes©Úself© r   úZ/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/site-packages/httpx2/websockets/_ping.pyÚ_generate_id
   s   zPingManagerBase._generate_idN)r   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   	   s    r   c                   @  ó,   e Zd Zddd„Zddd	d
„Zddd„ZdS )ÚPingManagerr   ÚNonec                 C  ó
   i | _ d S r   ©Ú_pingsr	   r   r   r   Ú__init__   ó   
zPingManager.__init__NÚping_idúbytes | Noneútuple[bytes, threading.Event]c                 C  ó*   |s|   ¡ n|}t ¡ }|| j|< ||fS r   )r   Ú	threadingÚEventr   ©r
   r   Úeventr   r   r   Úcreate   ó   
zPingManager.createúbytes | bytearrayc                 C  ó*   | j  t|ƒd ¡}|d ur| ¡  d S d S r   ©r   Úpopr   Úsetr   r   r   r   Úack   ó   ÿzPingManager.ack©r   r   r   )r   r   r   r   ©r   r#   r   r   ©r   r   r   r   r!   r(   r   r   r   r   r      ó    
r   c                   @  r   )ÚAsyncPingManagerr   r   c                 C  r   r   r   r	   r   r   r   r      r   zAsyncPingManager.__init__Nr   r   útuple[bytes, anyio.Event]c                 C  r   r   )r   Úanyior   r   r   r   r   r   r!   "   r"   zAsyncPingManager.creater#   c                 C  r$   r   r%   r   r   r   r   r(   (   r)   zAsyncPingManager.ackr*   r   )r   r   r   r/   r+   r,   r   r   r   r   r.      r-   r.   )Ú
__future__r   r   r   r0   r   r   r.   r   r   r   r   Ú<module>   s    