
    辙hN                     $   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y)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                 B     t        d       i  fd}|S )z!Create closure that reads frames.c                       y)Nr    r       O/var/www/Befach/backend/env/lib/python3.12/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j                  |	|               |dk(  r0 d|d      }|v rt        ||      
|<   d	|<   y |||d        y
|dk(  r_
|   }|j	                  |       |j
                  sd		|<   yd	|<   
j                  |d         ||j                  |j                  |       y
|d	k(  rZ
|   }|j                  |       |j
                  syd	|<   
j                  |d         ||j                  |j                  |       y
|dk(  ryy
)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!<CCw 79  1_$UC3J_,,3!+- ) +,w'Wj#t48 5 1_"7+Cs#99*+w' '(N7#  $/Wc..D  1_"7+CS!99&'N7#  $/Wc..D  1_r   r   )r*   r)   r   r+   r.   r,   r-   s   ```` @@r   r   r      s'     !+N/ /b Or   c                   F    e Zd Zd Zed        Zej                  d        Zy)Bufferc                     || _         y 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    yyr   c                 2    || _         t        |      | _        y r2   )r7   
memoryviewviewr3   s     r   r&   z
Buffer.buf^   s    	 sO	r   N)__name__
__module____qualname__r5   propertyr&   setterr   r   r   r0   r0   V   s3       	ZZ$ $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              r-|j                  j                  dd      }	|j                  |	      }|j                         } |      }
 |      xs d} |      |z   |
z   t        z   }||kD  }nd\  }}
}|r| dk(  rdj                   dg| |g      nd} |      }  d	|z  | |||d
             |rtdj                   d|d   d |            |g      } |      }  d	|z  d|||d
              d|
|      D ](  }||||z    } |      }  d	|z  d|||d
             * n| j                        kD  rt        |      _
        j                  }| dk(  rdj                   dg| |g      nd} |      } d	|z  ||| |||d
       |d|z   z  }|pdj                   d|d   d |            |g      } |      } d	|z  ||d|||d
       |d|z   z  } |      }
|
dkD  r|
} d	|z  ||d|||d
       |d|z   z  } j                  d |        xj                  dz  c_        y )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!<<D$$"--88&1{{8, 668J$iG _1N4y>1G;nLH+G%/"D'7 
 XXtE7J7>?(+ 5zH$zH,gx> ?A3t9="  u:d:0gx> ? q':6A 1z>2E"5zH$zH4 '8$d, - 7 C 0 011#,Z#8 ""C 
 XXtE7J7>?(+ 5zHj8+S&Wht=a(l"FA3t9="  u:*x/fWht=!h,&d)Q;&Hj83S&(D$@a(l*F,##GV,-"r   )r^   r0   rN   rD   )r*   	transportr   r   r]   r\   bytesr   text_tr_   r[   r^   s   ` ```` `  @@r   r   r   g   s=     OOE)J$8$81$<=>L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    ; $ / /  " ' 
+ JJJJJJ    *;K7t$ $$ iu#<Vr   