
    (i                     j    d dl Z d dlmZ d dlZd dlZe j
                  dk7  r ed       G d d      Zy)    N)Tuplewin32z;This module should not be imported on non `win32` platformsc                   N    e Zd ZdeddfdZdedefdZdedeeef   fdZd
d	Z	y)	NamedPipeipc_pathreturnNc           	          	 t        j                  |t         j                  t         j                  z  dd t         j                  dd       | _        y # t        j                  $ r}t        |      d }~ww xY w)Nr   )		win32file
CreateFileGENERIC_READGENERIC_WRITEOPEN_EXISTINGhandle
pywintypeserrorOSError)selfr   errs      D/var/www/br/venv/lib/python3.12/site-packages/web3/_utils/windows.py__init__zNamedPipe.__init__   sg    	#..&&)@)@@''DK  	#,	s   AA A3#A..A3
max_lengthc                 f    t        j                  | j                  |      \  }}|rt        |      |S N)r
   ReadFiler   r   )r   r   r   datas       r   recvzNamedPipe.recv   s.    ((jAd#,    r   c                 B    t        j                  | j                  |      S r   )r
   	WriteFiler   )r   r   s     r   sendallzNamedPipe.sendall"   s    ""4;;55r   c                 8    | j                   j                          y r   )r   close)r   s    r   r"   zNamedPipe.close%   s    r   )r   N)
__name__
__module____qualname__strr   intr   r   r    r"    r   r   r   r      sH      s s 6C 6E#s(O 6r   r   )systypingr   r   r
   platformImportErrorr   r(   r   r   <module>r-      s7    
  <<7
S
TT r   