CasperSecurity

Current Path : /lib/python3/dist-packages/twisted/internet/iocpreactor/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/twisted/internet/iocpreactor/__pycache__/reactor.cpython-310.pyc

o

�b�$�@sdUdZddlZddlZddlZddlmZmZddlmZddl	m
Z
mZmZm
Z
ddlmZddlmZmZmZddlmZdd	lmZdd
lmZmZzddlmZWneyrdZdZ eeej!d
fe"d<e�#d�YnweZej!fZ dZ$dZ%e&d�\Z'Z(e�)d�Z*e�)d�Z+eej,ej-ej.ej/ge �R�Gdd�de
j0e
j1e��Z2dd�Z3ddgZ4dS)z'
Reactor that uses IO completion ports
�N)�Tuple�Type)�implementer)�base�error�
interfaces�main)�Process)�iocpsupport�tcp�udp)�WAIT_TIMEOUT)�_ThreadedWin32EventsMixin)�failure�log)�TLSMemoryBIOFactory�.�_extraInterfacesz|pyOpenSSL 0.10 or newer is required for SSL support in iocpreactor. It is missing, so the reactor will not support SSL APIs.i����z#Handler has no getFileHandle methodzFiledescriptor went awayc@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zd-dd�Z
d.dd�ZedurDd-dd�Z	d.dd�Znd-dd�Z	d.d d�Zd/d"d#�Z	$d0d%d&�Zd'idddd(dfd)d*�Zd+d,�ZdS)1�IOCPReactorNcCs"tj�|�t��|_t�|_dS�N)r�ReactorBase�__init__�_iocp�CompletionPort�port�set�handles��selfrr�F/usr/lib/python3/dist-packages/twisted/internet/iocpreactor/reactor.pyr?s
zIOCPReactor.__init__cC�|j�|�dSr)r�add�r �handlerrr!�addActiveHandleD�zIOCPReactor.addActiveHandlecCr"r)r�discardr$rrr!�removeActiveHandleGr'zIOCPReactor.removeActiveHandlecCs�d}|dur	t}n	tttd|��}|j�|�\}}}}	|tkr#dS|tkr<|tks-J�t�	|j
|j|||�|d7}|tkrBdS|j�d�\}}}}q)z=
        Poll the IO completion port for new events.
        rNr�)
�MAX_TIMEOUT�min�intr�getEventr
�
KEY_WAKEUP�
KEY_NORMALr�callWithLogger�owner�_callEventCallback�EVENTS_PER_LOOP)r �timeout�processed_events�rc�numBytes�key�evtrrr!�doIterationJs$��zIOCPReactor.doIterationcCs�|j}d}z |�|||�t|dd�}|st}n|�dkrt}|r$WdSWnty8t��d}t�	�Ynw|rE|�
t�|��dSdS)N�
getFileHandle���r*)
r2�callback�getattr�
_NO_GETHANDLE�_NO_FILEDESC�
BaseException�sys�exc_infor�err�loseConnectionr�Failure)r r7r8r:r2�why�handfnrrr!r3vs&
���zIOCPReactor._callEventCallbackcCsdSrrrrrr!�installWaker�szIOCPReactor.installWakercCs|j�dtd�dS)Nr)r�	postEventr/rrrr!�wakeUp�szIOCPReactor.wakeUpcCs|j�|t�dSr)r�	addHandler0r$rrr!�registerHandle�szIOCPReactor.registerHandlecCst�||�}|�|���|Sr)�socketrN�fileno)r �af�stype�sktrrr!�createSocket�szIOCPReactor.createSocket�2�cC�t�|||||�}|��|S)zI
        @see: twisted.internet.interfaces.IReactorTCP.listenTCP
        )r�Port�startListening)r r�factory�backlog�	interface�prrr!�	listenTCP�szIOCPReactor.listenTCP�cCs t�||||||�}|��|S)zJ
        @see: twisted.internet.interfaces.IReactorTCP.connectTCP
        )r�	Connector�connect)r �hostrrZr5�bindAddress�crrr!�
connectTCP�szIOCPReactor.connectTCPcCs"|�|t|d|�||�}d|_|S)zQ
            @see: twisted.internet.interfaces.IReactorSSL.listenSSL
            F�TLS)r^r�_type�r rrZ�contextFactoryr[r\rrr!�	listenSSL�s
�zIOCPReactor.listenSSLcCs|�||t|d|�||�S)zR
            @see: twisted.internet.interfaces.IReactorSSL.connectSSL
            T)rer�r rbrrZrir5rcrrr!�
connectSSL�s
�zIOCPReactor.connectSSLcC�td��)z�
            Non-implementation of L{IReactorSSL.listenSSL}.  Some dependency
            is not satisfied.  This implementation always raises
            L{NotImplementedError}.
            �|pyOpenSSL 0.10 or newer is required for SSL support in iocpreactor. It is missing, so the reactor does not support SSL APIs.��NotImplementedErrorrhrrr!rj�s�cCrm)z�
            Non-implementation of L{IReactorSSL.connectSSL}.  Some dependency
            is not satisfied.  This implementation always raises
            L{NotImplementedError}.
            rnrorkrrr!rl�s�� cCrW)z�
        Connects a given L{DatagramProtocol} to the given numeric UDP port.

        @returns: object conforming to L{IListeningPort}.
        )rrXrY)r r�protocolr\�
maxPacketSizer]rrr!�	listenUDP�szIOCPReactor.listenUDPFcCs t�||||||�}|��|S)z�
        Connects a given DatagramProtocol to the given numeric UDP port.

        EXPERIMENTAL.

        @returns: object conforming to IListeningPort.
        )r�
MulticastPortrY)r rrrr\rs�listenMultipler]rrr!�listenMulticast�s

�zIOCPReactor.listenMulticastrrc

CsN|durtd��|durtd��|rtd��|	durtd��t||||||�S)z"
        Spawn a process.
        Nz,Setting UID is unsupported on this platform.z,Setting GID is unsupported on this platform.z&PTYs are unsupported on this platform.zGCustom child file descriptor mappings are unsupported on this platform.)�
ValueErrorr	)
r �processProtocol�
executable�args�env�path�uid�gid�usePTY�childFDsrrr!�spawnProcess�s�zIOCPReactor.spawnProcesscCst|j�}|j��|Sr)�listr�clear)r �resrrr!�	removeAlls

zIOCPReactor.removeAll)rUrV)r_N)rVrq)rVrqF)�__name__�
__module__�__qualname__rrr&r)r;r3rJrLrNrTr^rerrjrlrtrwr�r�rrrr!r2s@,


�

�

�
�rcCst�}t�|�dSr)rr�installReactor)�rrrr!�installsr�)5�__doc__rOrC�warnings�typingrr�zope.interfacer�twisted.internetrrrr�twisted.internet._dumbwin32procr	�twisted.internet.iocpreactorr
rrr�"twisted.internet.iocpreactor.constr
�"twisted.internet.win32eventreactorr�twisted.pythonrr�twisted.protocols.tlsr�_TLSMemoryBIOFactory�ImportErrorr�IReactorSSL�__annotations__�warnr+r4�ranger0r/�ConnectionFdescWentAwayr@rA�IReactorTCP�IReactorUDP�IReactorMulticast�IReactorProcess�_SignalReactorMixinrrr��__all__rrrr!�<module>sT��


��

�c
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY