
    YfN                         d Z ddlmZ ddlmZmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ d	Z eej        j        ej        j        ej        j        g          Zd
ZeefdZ G d d          ZeeeeeeefdZdS )z5Convert between frames and higher-level AMQP methods.    defaultdict)pack	pack_intounpack_from   )spec)Message)UnexpectedFrame)str_to_bytes)frame_handlerframe_writer(   c                 J     t          d           i  fd}|S )z!Create closure that reads frames.c                      dS )Nr    r       E/var/www/html/env/lib/python3.11/site-packages/amqp/method_framing.py<lambda>zframe_handler.<locals>.<lambda>   s     r   c                    | \  }}}xj         dz  c_         |	|         dfvr)t          d                    |	|                             |dk    r; d|d          }|v rt          ||          
|<   d	|<   dS  |||d            n|dk    r_
|         }|                    |           |j        sd		|<   dS d	|<   
                    |d             ||j        |j        |           nh|d	k    rZ
|         }|	                    |           |j        sdS d	|<   
                    |d             ||j        |j        |           n|dk    rdS d
S )Nr      z*Received frame {} while expecting type: {}>HHr   )frame_method
frame_args   F   T)

bytes_recvr   formatr
   inbound_headerreadypopr   r   inbound_body)frame
frame_typechannelbuf
method_sigmsgcallback
connectioncontent_methodsexpected_typespartial_messagesr   s         r   on_framezframe_handler.<locals>.on_frame"   s   #( 
GS"nW5q999!<CCw 79 9   1__$UC33J_,,,3!+- - - ) +,w'uHWj#t44441__"7+Cs###9 *+w'u '(N7#  $///HWc.DDDD1__"7+CS!!!9 u&'N7#  $///HWc.DDDD1__5tr   r   )r*   r)   r   r+   r.   r,   r-   s   ```` @@r   r   r      sY     !++N/ / / / / / / / / /b Or   c                   J    e Zd Zd Zed             Zej        d             ZdS )Bufferc                     || _         d S N)r&   selfr&   s     r   __init__zBuffer.__init__W   s    r   c                     | j         S r2   )_buf)r4   s    r   r&   z
Buffer.bufZ   s
    yr   c                 <    || _         t          |          | _        d S r2   )r7   
memoryviewviewr3   s     r   r&   z
Buffer.buf^   s    	 sOO			r   N)__name__
__module____qualname__r5   propertyr&   setterr   r   r   r0   r0   V   s[             X 	Z$ $ Z$ $ $r   r0   c	                     
 |j         t          t           j        dz
                      

 fd}	|	S )z"Create closure that writes frames.r   c                    j         dz
  }d}d } |          }|r|j        }t          |t                    r0|j                            dd          }	|                    |	          }|                                } |          }
 |          pd} |          |z   |
z   t          z   }||k    }nd\  }}
}|r| dk    rd	                     dg|R  |g          nd} |          }  d	|z  | |||d
                     |rd	                     d|d         d |                    |g          } |          }  d	|z  d|||d
                      d|
|          D ]6}||||z            } |          }  d	|z  d|||d
                     7n!| j
                  k    rt          |          _
        j
        }| dk    rd	                     dg|R  |g          nd} |          } d	|z  ||| |||d
           |d|z   z  }|d	                     d|d         d |                    |g          } |          } d	|z  ||d|||d
           |d|z   z  } |          }
|
dk    r|
} d	|z  ||d|||d
           |d|z   z  } j        d |                    xj        dz  c_        d S )Nr   r   content_encodingzutf-8)Nr   r   r   r   r   z>BHI%dsB   z>HHQr   r   )	frame_maxbody
isinstancestr
properties
setdefaultencode_serialize_propertiesFRAME_OVERHEADjoinr&   	bytearrayr:   
bytes_sent)type_r%   r'   argscontent
chunk_sizeoffsetrH   rE   encodingbodylenproperties_lenframelenbigbodyr#   ir&   buffer_storer*   lenr   r   ranger   writes                    r   write_framez!frame_writer.<locals>.write_frameo   s*   )A-

|D!! 	0<D$$$ -"-88&1 1{{8,, 6688Jc$iiG S__1Ns4yy>1G;nLH+GG%/"D'7 8	. 

 XXttE7J777>???(+ s5zzHE$$zH,gx> > ? ? ? -DA33t99=="   3u::dd:0gx> > ? ? ? q':66 - -A 1z>!12E"s5zzHE$$zH4 '8$d, , - - - - CC 01111#,Z#8#8 "C 

 XXttE7J777>???(+ s5zzHIj8+S&Wht= = =a(l"FDA33t99=="   3u::	*x/fWht= = =!h,&#d))Q;;&HIj83S&(D$@ @ @a(l*FE,#GVG,---"r   )r^   r0   rN   rD   )r*   	transportr   r   r]   r\   bytesr   text_tr_   r[   r^   s   ` ```` `  @@r   r   r   g   s     OE)J$81$<==>>LM# M# M# M# M# M# M# M# M# M# M# M#\ r   N)__doc__collectionsr   structr   r   r    r	   basic_messager
   
exceptionsr   utilsr   __all__	frozensetBasicReturnDeliverGetOk_CONTENT_METHODSrL   r   r0   r]   r\   ra   rG   r   r   r   r   <module>rq      s=   ; ; $ # # # # # / / / / / / / / / /       " " " " " " ' ' ' ' ' '      
+ 9JJJ     *;K7 7 7 7t$ $ $ $ $ $ $ $$ iu#<V V V V V Vr   