o
    Rf                     @   s&  d dl Zd dlZejdrmd 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rfd 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dS 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dS )     NdoqNullContext)AsyncioQuicConnectionAsyncioQuicManagerAsyncioQuicStream)AsyncQuicConnectionAsyncQuicManager)SyncQuicConnectionSyncQuicManagerSyncQuicStreamTc                  O   s   t d S Nr   )argskwargs r   J/home/ubuntu/webapp/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   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_factory0   s   r   c                 C   s   | d u r	t j } t|   S r   )dnsasyncbackendget_default_backend_async_factoriesname)backendr   r   r   factories_for_backend5   s   
r$   F)Anyc                   @      e Zd ZdS )AsyncQuicStreamN__name__
__module____qualname__r   r   r   r   r'   ?       r'   c                   @      e Zd ZdefddZdS )r   returnc                    s   t r   NotImplementedErrorselfr   r   r   make_streamC   s   zAsyncQuicConnection.make_streamNr)   r*   r+   r%   r3   r   r   r   r   r   B       r   c                   @   r&   )r   Nr(   r   r   r   r   r   F   r,   r   c                   @   r-   )r
   r.   c                 C   s   t r   r/   r1   r   r   r   r3   J   s   zSyncQuicConnection.make_streamNr4   r   r   r   r   r
   I   r5   r
   r   )#dns._featuresr   dns.asyncbackend	_featureshaveaioquic.quic.configurationaioquicdns._asyncbackendr   dns.quic._asyncior   r   r   dns.quic._commonr   r	   dns.quic._syncr
   r   r   	have_quicr   r   r!   r   dns.quic._trior   r   r   r   r   r$   typingr%   r'   r   r   r   r   <module>   s2   