o
    h                     @   sD  d dl mZmZ d dlZd dlZejdrtd dlZ	d dl
mZ d dlmZmZmZ d dlmZmZ d dlmZmZmZ dZd	d
 Zdd ZdeefiZejdrnd dlZd dlmZmZmZ dd Z dd Z!e e!fed< d ddZ"n$dZd dl m#Z# G dd dZ$G dd dZG dd dZG dd dZeee%e%f  Z&dS )!    )ListTupleNZdoqNullContext)AsyncioQuicConnectionAsyncioQuicManagerAsyncioQuicStream)AsyncQuicConnectionAsyncQuicManager)SyncQuicConnectionSyncQuicManagerSyncQuicStreamTc                  O   s   t d S Nr   )argskwargs r   D/var/www/html/venv/lib/python3.10/site-packages/dns/quic/__init__.pynull_factory   s   r   c                 O   s   t |i |S r   )r   contextr   r   r   r   r   _asyncio_manager_factory   s   r   asynciotrio)TrioQuicConnectionTrioQuicManagerTrioQuicStreamc                   C   s   t  S r   )r   Zopen_nurseryr   r   r   r   _trio_context_factory/   s   r   c                 O   s   t | g|R i |S r   )r   r   r   r   r   _trio_manager_factory2   s   r   c                 C   s   | d u r	t j } t|   S r   )dnsZasyncbackendZget_default_backend_async_factoriesname)backendr   r   r   factories_for_backend7   s   
r"   F)Anyc                   @      e Zd ZdS )AsyncQuicStreamN__name__
__module____qualname__r   r   r   r   r%   A       r%   c                   @      e Zd ZdefddZdS )r	   returnc                    s   t r   NotImplementedErrorselfr   r   r   make_streamE   s   zAsyncQuicConnection.make_streamNr'   r(   r)   r#   r1   r   r   r   r   r	   D       r	   c                   @   r$   )r   Nr&   r   r   r   r   r   H   r*   r   c                   @   r+   )r   r,   c                 C   s   t r   r-   r/   r   r   r   r1   L   s   zSyncQuicConnection.make_streamNr2   r   r   r   r   r   K   r3   r   r   )'typingr   r   Zdns._featuresr   Zdns.asyncbackendZ	_featuresZhaveZaioquic.quic.configurationZaioquicZdns._asyncbackendr   Zdns.quic._asyncior   r   r   Zdns.quic._commonr	   r
   Zdns.quic._syncr   r   r   Z	have_quicr   r   r   r   Zdns.quic._trior   r   r   r   r   r"   r#   r%   bytesZHeadersr   r   r   r   <module>   s6   