o
    Žõ±jó  ã                   @   s    d dl mZ G dd„ deƒZdS )é    )Ú
Packetizerc                   @   s.   e Zd Zddd„Zdd„ Zdd„ Zdd	„ Zd
S )ÚNetBIOSPacketizeréÿÿ  c                 C   s   t  | |¡ d| _d| _d S )Nó    éÿÿÿÿ)r   Ú__init__Ú	in_bufferÚ_NetBIOSPacketizer__total_size)ÚselfÚbuffer_size© r   ú‹/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiosmb/transport/netbios.pyr      s   
zNetBIOSPacketizer.__init__c                 c   sü   � | j dkrt| jƒdkrtj| jdd… ddd�d | _ | j dkrxt| jƒ| j krz| j dkrit| jƒ| j kri| jd | j … dd … }| j| j d … | _d| _ t| jƒdkrftj| jdd… ddd�d | _ |V  | j dkr|t| jƒ| j ks*d S d S d S d S )Nr   é   é   é   ÚbigF©Ú	byteorderÚsigned)r	   Úlenr   ÚintÚ
from_bytes)r
   Úmsg_datar   r   r   Úprocess_buffer
   s   €
  *öz NetBIOSPacketizer.process_bufferc                 C  s<   �|d u rd S d}|t |ƒjdddd�7 }||7 }|V  d S )Nó    é   r   Fr   )r   Úto_bytes)r
   Úsmb_msg_dataÚdatar   r   r   Údata_out   s   €
zNetBIOSPacketizer.data_outc                 C  sH   �|d u r|   ¡ D ]}|V  q	d S |  j|7  _|   ¡ D ]}|V  qd S )N)r   r   )r
   r   Úpacketr   r   r   Údata_in#   s   €ÿÿzNetBIOSPacketizer.data_inN)r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r!   r   r   r   r   r      s
    
r   N)Ú#asysocks.unicomm.common.packetizersr   r   r   r   r   r   Ú<module>   s   