File: //home/arjun/projects/env/lib/python3.10/site-packages/dns/quic/__pycache__/_trio.cpython-310.pyc
o
!we� � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z
d dlZ
d dlm
Z
d dlmZmZmZmZmZ G dd� de�ZG dd� de�ZG dd � d e�ZdS )
� N)�NullContext)�QUIC_MAX_DATAGRAM�AsyncQuicConnection�AsyncQuicManager�BaseQuicStream�
UnexpectedEOFc sX e Zd Z� fdd�Zdd� Zddd�Zdd d
�Zdd� Zd
d� Zdd� Z dd� Z
� ZS )�TrioQuicStreamc s t � �||� t�� | _d S �N)�super�__init__�trio� Condition�_wake_up)�self�
connection� stream_id�� __class__� �G/home/arjun/projects/env/lib/python3.10/site-packages/dns/quic/_trio.pyr s zTrioQuicStream.__init__c � sl � | j �|�r
d S || _| j4 I d H � | j�� I d H W d �I d H n1 I d H s-w Y d| _q)NTr )�_buffer�have�
_expectingr �wait)r �amountr r r �wait_for s �(��zTrioQuicStream.wait_forNc � s� �|d u r
t d �}nt�|�}|�) | �d�I d H t�d| j�d��\}| �|�I d H | j�|�W d � S 1 s=w Y tj j
�)N� z!H)r r �
move_on_afterr �struct�unpackr �get�dns� exception�Timeout)r �timeout�context�sizer r r �receive'