File: //lib/python3.9/site-packages/dns/quic/__pycache__/_trio.cpython-39.opt-1.pyc
a
�M�e� � @ 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__� �2/usr/lib/python3.9/site-packages/dns/quic/_trio.pyr s zTrioQuicStream.__init__c � sl | j �|�rd S || _| j4 I d H �& | j�� I d H W d �I d H q`1 I d H sV0 Y d| _q d S )Nr )�_bufferZhaveZ
_expectingr �wait)r �amountr r r �wait_for s :zTrioQuicStream.wait_forNc � s� |d u rt d �}n
t�|�}|�R | �d�I d H t�d| j�d��\}| �|�I d H | j�|�W d � S 1 sx0 Y tj j
�d S )N� z!H)r r �
move_on_afterr �struct�unpackr �get�dns� exception�Timeout)r �timeout�context�sizer r r �receive'