ó
    Ö›‘h!	  ã                   óÒ   • S r SSKJrJr  SSKJrJrJr  SSKJ	r	  SSK
JrJr  SSKJr   " S S\5      r " S	 S
\5      r\" \\5       " S S5      5       rS\\   4S jrS\S\	4S jrg)zT
Plugin-based system for enumerating available reactors and installing one of
them.
é    )ÚIterableÚcast)Ú	AttributeÚ	InterfaceÚimplementer)ÚIReactorCore)ÚIPluginÚ
getPlugins)ÚnamedAnyc                   óB   • \ rS rSrSr\" S5      r\" S5      rSS jrSr	g)	ÚIReactorInstalleré   z:
Definition of a reactor which can probably be installed.
zE
    A brief string giving the user-facing name of this reactor.
    zK
    A longer string giving a user-facing description of this reactor.
    Nc                  ó   • g)z
Install this reactor.
N© r   ó    Ú`C:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/application/reactors.pyÚinstallÚIReactorInstaller.install#   s   � r   r   ©ÚreturnN)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú	shortNameÚdescriptionr   Ú__static_attributes__r   r   r   r   r      s.   † ññ ð	ó€Iñ ð	ó€K÷r   r   c                   ó   • \ rS rSrSrSrg)ÚNoSuchReactoré,   zL
Raised when an attempt is made to install a reactor which cannot be found.
r   N)r   r   r   r   r   r   r   r   r   r    r    ,   s   † ôr   r    c                   ó8   • \ rS rSrSrS\S\S\4S jrS
S jrS	rg)ÚReactoré2   zp
@ivar moduleName: The fully-qualified Python name of the module of which
the install callable is an attribute.
r   Ú
moduleNamer   c                 ó(   • Xl         X l        X0l        g ©N)r   r%   r   )Úselfr   r%   r   s       r   Ú__init__ÚReactor.__init__9   s   € Ø"ŒØ$ŒØ&Õr   Nc                 óJ   • [        U R                  5      R                  5         g r'   )r   r%   r   )r(   s    r   r   ÚReactor.install>   s   € Ü�—‘Ó!×)Ñ)Õ+r   )r   r%   r   r   )	r   r   r   r   r   Ústrr)   r   r   r   r   r   r#   r#   2   s&   † ñð
' #ð '°3ð 'ÀSô '÷
,r   r#   r   c                  ó    • [        [        5      $ )z5
Return an iterator of L{IReactorInstaller} plugins.
)r
   r   r   r   r   ÚgetReactorTypesr/   B   s   € ô Ô'Ó(Ð(r   r   c                 óª   • [        5        H;  nUR                  U :X  d  M  UR                  5         SSKJn  [        [        U5      s  $    [        U 5      e)zÙ
Install the reactor with the given C{shortName} attribute.

@raise NoSuchReactor: If no reactor is found with a matching C{shortName}.

@raise Exception: Anything that the specified reactor can raise when installed.
r   )Úreactor)r/   r   r   Útwisted.internetr1   r   r   r    )r   Ú	installerr1   s      r   ÚinstallReactorr4   I   sH   € ô %Ö&ˆ	Ø×Ñ )Õ+Ø×ÑÔÝ0äœ gÓ.Ò.ñ 'ô ˜	Ó
"Ð"r   N)r   Útypingr   r   Úzope.interfacer   r   r   Útwisted.internet.interfacesr   Útwisted.pluginr	   r
   Útwisted.python.reflectr   r   ÚKeyErrorr    r#   r/   r-   r4   r   r   r   Ú<module>r;      s|   ðñ
÷ "ç <Ñ <å 4ß .Ý +ô˜	ô ô4�Hô ñ ˆWÐ'Ó(÷,ð ,ó )ð,ð)˜Ð"3Ñ4ô )ð#˜cð # lõ #r   