File: //usr/lib/python3/dist-packages/twisted/application/__pycache__/reactors.cpython-38.pyc
U
W[y � @ s� d Z ddlmZmZ ddlmZmZmZ ddlm Z m
Z
ddlmZ G dd� de�Z
G dd � d e�Zee e
�G d
d� de��Zdd
� Zdd� ZdS )zT
Plugin-based system for enumerating available reactors and installing one of
them.
� )�absolute_import�division)� Interface� Attribute�implementer)�IPlugin�
getPlugins)�namedAnyc @ s( e Zd ZdZed�Zed�Zdd� ZdS )�IReactorInstallerzB
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.
c C s dS )z'
Install this reactor.
N� r r r �>/usr/lib/python3/dist-packages/twisted/application/reactors.py�install s zIReactorInstaller.installN)�__name__�
__module__�__qualname__�__doc__r � shortName�descriptionr
r r r r r
s r
c @ s e Zd ZdZdS )�
NoSuchReactorzT
Raised when an attempt is made to install a reactor which cannot be found.
N)r r r r r r r r r ( s r c @ s e Zd ZdZdd� Zdd� ZdS )�Reactorz|
@ivar moduleName: The fully-qualified Python name of the module of which
the install callable is an attribute.
c C s || _ || _|| _d S �N)r �
moduleNamer )�selfr r r r r r �__init__5 s zReactor.__init__c C s t | j��� d S r )r r r
)r r r r r
; s zReactor.installN)r r r r r r
r r r r r / s r c C s t t�S )z=
Return an iterator of L{IReactorInstaller} plugins.
)r r
r r r r �getReactorTypes@ s r c C s>