
    h                     p    d dl mZ d dlmZmZ eZ G d de      ZdZda	d Z
d Zd	 Zd d
lmZ  ee       y)    )__version__)IFailedFutureILoggerc                       e Zd ZdZdZy)_Configa  
    This holds all valid configuration options, accessed as
    class-level variables. For example, if you were using asyncio:

    .. sourcecode:: python

        txaio.config.loop = asyncio.get_event_loop()

    ``loop`` is populated automatically (while importing one of the
    framework-specific libraries) but can be changed before any call
    into this library. Currently, it's only used by :meth:`call_later`
    If using asyncio, you must set this to an event-loop (by default,
    we use asyncio.get_event_loop). If using Twisted, set this to a
    reactor instance (by default we "from twisted.internet import
    reactor" on the first call to call_later)
    N)__name__
__module____qualname____doc__loop     J/var/www/Befach/backend/env/lib/python3.12/site-packages/txaio/__init__.pyr   r   &   s    $ Dr   r   )!with_configusing_twistedusing_asynciouse_twisteduse_asyncioconfigcreate_futurecreate_future_successcreate_future_errorcreate_failure	as_future	is_futurerejectresolvecanceladd_callbacksgather	is_called
call_laterfailure_messagefailure_tracebackfailure_format_tracebackmake_batched_timermake_loggerstart_loggingset_global_log_levelget_global_log_leveladd_log_categoriesr   r   sleeptime_nsperf_counter_nsNc                      t         't         dk7  rt        dj                  t                     da ddlm}  t        |        dd l}d|_        d|_        y )NtwistedExplicitly using '{}' alreadyr   )txTF)_explicit_frameworkRuntimeErrorformattxaior2   _use_frameworkr   r   )r2   r6   s     r   r   r   d   sL    &+>)+K:AABUVWW#2EEr   c                      t         't         dk7  rt        dj                  t                     da ddlm}  t        |        dd l}d|_        d|_        y )Nasyncior1   r   )aioFT)r3   r4   r5   r6   r:   r7   r   r   )r:   r6   s     r   r   r   r   sL    &+>)+K:AABUVWW#3EEr   c           	      Z    ddl }t        D ]  }|dv rt        ||t        | |               y)zc
    Internal helper, to set this modules methods to a specified
    framework helper-methods.
    r   N)r   r   )r6   __all__setattrgetattr)moduler6   method_names      r   r7   r7      s0    
 88{GFK$@A r   )_unframework)txaio._versionr   txaio.interfacesr   r   versionobjectr   r<   r3   r   r   r7   r6   rA   r   r   r   <module>rF      sK   8 ' 3
f ,"J   
B   | r   