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   