OwlCyberSecurity - MANAGER
Edit File: _sync.cpython-312.pyc
� D��g�( � �� � d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Zd dl Zd dlZd dl mZmZmZmZmZ ej Z G d� de� Z G d� de� Z G d� de� Zy) � N)�QUIC_MAX_DATAGRAM�BaseQuicConnection�BaseQuicManager�BaseQuicStream� UnexpectedEOFc �R � � e Zd Z� fd�Zd� Zd� Zd d�Zdd�Zd� Zd� Z d� Z d � Z� xZS )�SyncQuicStreamc � �� t �| � ||� t j � | _ t j � | _ y �N)�super�__init__� threading� Condition�_wake_up�Lock�_lock)�self� connection� stream_id� __class__s ��=/opt/hc_python/lib/python3.12/site-packages/dns/quic/_sync.pyr zSyncQuicStream.__init__ s0 �� � ����Y�/�!�+�+�-�� ��^�^�%�� � c �~ � | j |� }| j 5 | j j |� r d d d � y || _ d d d � | j 5 | j j |� st j j � d d d � d| _ ��# 1 sw Y �\xY w# 1 sw Y �xY w)Nr ) �_timeout_from_expirationr �_buffer�have� _expectingr �wait�dns� exception�Timeout)r �amount� expiration�timeouts r �wait_forzSyncQuicStream.wait_for# s� � ���3�3�J�?�G�����<�<�$�$�V�,�� �� #)��� � ����}�}�)�)�'�2��-�-�/�/�/� 3� � �D�O� ���� ��s �B'�B'� 6B3�'B0�3B<c �b � | j |� }| j 5 | j j � r d d d � y d d d � | j 5 | j j |� st j j � d d d � ��# 1 sw Y �UxY w# 1 sw Y �xY wr ) r r r �seen_endr r r r r! )r r# r$ s r �wait_for_endzSyncQuicStream.wait_for_end/ s� � ���3�3�J�?�G�����<�<�(�(�*�� ��*� � ����}�}�)�)�'�2��-�-�/�/�/� 3� � ���� ��s �B�6B%�B"�%B.c �X � | j |� }| j j � rA| j |� | j 5 | j j � cd d d � S | j d|� | j 5 t j d| j j d� � \ }d d d � | j |� | j 5 | j j |� cd d d � S # 1 sw Y y xY w# 1 sw Y �XxY w# 1 sw Y y xY w)N� z!H)�_expiration_from_timeout�_connection�is_h3r( r r �get_allr% �struct�unpack�get)r r$ r# �sizes r �receivezSyncQuicStream.receive9 s� � ��2�2�7�;� ����!�!�#����j�)�����|�|�+�+�-� �� �M�M�!�Z�(���� �-�-��d�l�l�.>�.>�q�.A�B��� ��M�M�$� �+�����|�|�'�'��-� �� ��� ��� ��s$ � D�2D�#D �D�D� D)c �t � | j |� }| j j | j ||� y r )�_encapsulater, �write� _stream_id)r �datagram�is_end�datas r �sendzSyncQuicStream.sendG s. � �� � ��*�������t����f�=r c � � | j ||� r0| j 5 | j j � d d d � y y # 1 sw Y y xY wr )�_common_add_inputr �notify)r r: r9 s r � _add_inputzSyncQuicStream._add_inputK s; � ��!�!�$��/����� � �$�$�&� �� 0���s �A�A c �f � | j 5 | j � d d d � y # 1 sw Y y xY wr )r �_close�r s r �closezSyncQuicStream.closeP s � � �Z�Z��K�K�M� �Z�Z�s �'�0c � � | S r � rB s r � __enter__zSyncQuicStream.__enter__T � � ��r c � � | j � | j 5 | j j � d d d � y# 1 sw Y yxY w�NF)rC r r>