o
    i
                     @   s  U d dl mZmZmZmZ d dlZd dlZej	drd dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ dZdd Zdd ZdeefiZeeeeef f ed< ej	drd dlZd dlmZ d dlm Z  d dlm!Z! dd Z"dd Z#e"e#fed< d'ddZ$nd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 )(    )AnyDictListTupleNZdoqNullContext)AsyncioQuicConnectionAsyncioQuicManager)AsyncioQuicStream)AsyncQuicConnection)AsyncQuicManager)SyncQuicConnection)SyncQuicStream)SyncQuicManagerTc                  O   s   t d S Nr   )argskwargs r   H/home/app/Keep/.python/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_async_factories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_backendr   name)backendr   r   r   factories_for_backend7   s   
r&   Fc                   @      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   r4   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   r0   r2   r   r   r   r4   J   s   zSyncQuicConnection.make_streamNr5   r   r   r   r   r   I   r6   r   r   )(typingr   r   r   r   Zdns._featuresr#   Zdns.asyncbackendZ	_featuresZhaveZdns._asyncbackendr   Zdns.quic._asyncior   r
   r   Zdns.quic._commonr   r   Zdns.quic._syncr   r   r   Z	have_quicr   r   r   str__annotations__r   Zdns.quic._trior   r   r    r!   r"   r&   r(   bytesZHeadersr   r   r   r   <module>   sB   	