
vMc           @   s  d  Z  d d l m Z m Z d d l m Z d d l m Z d e f d     YZ d e f d     YZ	 d	 e f d
     YZ
 d e
 f d     YZ d e f d     YZ e Z d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d      YZ d! e f d"     YZ d# e f d$     YZ d% e f d&     YZ d' e f d(     YZ d) e f d*     YZ d+ e f d,     YZ d- e f d.     YZ d/ e f d0     YZ d1 e f d2     YZ d3 e f d4     YZ  d5 e e  f d6     YZ! d7 e f d8     YZ" d9 e f d:     YZ# d; e f d<     YZ$ d= e$ f d>     YZ% d? e f d@     YZ& dA e& f dB     YZ' dC e& f dD     YZ( dE e f dF     YZ) dG e f dH     YZ* dI e f dJ     YZ+ dK e f dL     YZ, dM e f dN     YZ- dO e- f dP     YZ. dQ e. f dR     YZ/ dS e. f dT     YZ0 dU e- f dV     YZ1 dW e f dX     YZ2 dY e f dZ     YZ3 d[ e f d\     YZ4 d] e f d^     YZ5 d_ e f d`     YZ6 da e f db     YZ7 dc e f dd     YZ8 de e f df     YZ9 dg e f dh     YZ: di S(j   s>   
Interface documentation.

Maintainer: Itamar Shtull-Trauring
i(   t	   Interfacet	   Attribute(   t   deprecatedModuleAttribute(   t   Versiont   IAddressc           B   s   e  Z d  Z RS(   sr   
    An address, e.g. a TCP C{(host, port)}.

    Default implementations are in L{twisted.internet.address}.
    (   t   __name__t
   __module__t   __doc__(    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR      s   t
   IConnectorc           B   s2   e  Z d  Z d   Z d   Z d   Z d   Z RS(   su   
    Object used to interface between connections and protocols.

    Each L{IConnector} manages one connection.
    c           C   s   d S(   s-   
        Stop attempting to connect.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   stopConnecting   s    c           C   s   d S(   s   
        Disconnect regardless of the connection state.

        If we are connected, disconnect, if we are trying to connect,
        stop trying.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt
   disconnect$   s    c           C   s   d S(   s3   
        Try to connect to remote address.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   connect,   s    c           C   s   d S(   sy   
        Return destination this will try to connect to.

        @return: An object which provides L{IAddress}.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getDestination1   s    (   R   R   R   R	   R
   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR      s
   			t   IResolverSimplec           B   s   e  Z d d  Z RS(   i   i   i   i-   c         C   s   d S(   sN  
        Resolve the domain name C{name} into an IP address.

        @type name: C{str}
        @type timeout: C{tuple}
        @rtype: L{twisted.internet.defer.Deferred}
        @return: The callback of the Deferred that is returned will be
        passed a string that represents the IP address of the specified
        name, or the errback will be called if the lookup times out.  If
        multiple types of address records are associated with the name,
        A6 records will be returned in preference to AAAA records, which
        will be returned in preference to A records.  If there are multiple
        records of the type to be returned, one will be selected at random.

        @raise twisted.internet.defer.TimeoutError: Raised (asynchronously)
        if the name cannot be resolved within the specified timeout period.
        N(    (   t   namet   timeout(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getHostByName;   s    (   i   i   i   i-   (   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   9   s   t	   IResolverc           B   s  e  Z d  d  Z d  d  Z d  d  Z d  d  Z d  d  Z d  d  Z d  d  Z d  d  Z	 d  d	  Z
 d  d
  Z d  d  Z d  d  Z d  d  Z d  d  Z d  d  Z d  d  Z d  d  Z d  d  Z d  d  Z d  d  Z d  d  Z d  d  Z d  d  Z RS(   i
   c         C   s   d S(   s~   
        Lookup the records associated with the given name
        that are of the given type and in the given class.
        N(    (   R   t   clst   typeR   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupRecordO   s    c         C   s   d S(   sb   
        Interpret and dispatch a query object to the appropriate
        lookup* method.
        N(    (   t   queryR   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   U   s    c         C   s   d S(   s?   
        Lookup the A records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupAddress[   s    c         C   s   d S(   sD   
        Lookup all the A6 records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupAddress6`   s    c         C   s   d S(   sF   
        Lookup all the AAAA records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupIPV6Addresse   s    c         C   s   d S(   s@   
        Lookup the MX records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupMailExchangej   s    c         C   s   d S(   sD   
        Lookup the the NS records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupNameserverso   s    c         C   s   d S(   sC   
        Lookup the CNAME records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupCanonicalNamet   s    c         C   s   d S(   s@   
        Lookup the MB records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupMailBoxy   s    c         C   s   d S(   s@   
        Lookup the MG records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupMailGroup~   s    c         C   s   d S(   s@   
        Lookup the MR records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupMailRename   s    c         C   s   d S(   sA   
        Lookup the PTR records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupPointer   s    c         C   s   d S(   sA   
        Lookup the SOA records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupAuthority   s    c         C   s   d S(   sB   
        Lookup the NULL records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt
   lookupNull   s    c         C   s   d S(   sA   
        Lookup the WKS records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupWellKnownServices   s    c         C   s   d S(   sC   
        Lookup the HINFO records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupHostInfo   s    c         C   s   d S(   sC   
        Lookup the MINFO records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupMailboxInfo   s    c         C   s   d S(   sA   
        Lookup the TXT records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt
   lookupText   s    c         C   s   d S(   s@   
        Lookup the RP records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupResponsibility   s    c         C   s   d S(   sC   
        Lookup the AFSDB records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupAFSDatabase   s    c         C   s   d S(   sA   
        Lookup the SRV records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupService   s    c         C   s   d S(   s=   
        Lookup all records associated with C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   lookupAllRecords   s    c         C   s   d S(   s@   
        Perform a zone transfer for the given C{name}.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt
   lookupZone   s    (   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   R*   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   N   s.   t   IReactorArbitraryc           B   sB   e  Z d  Z e e d d d d  d e  d  d   Z d   Z RS(	   sN   
    This interface is redundant with L{IReactorFDSet} and is deprecated.
    t   Twistedi
   i   i    s   See IReactorFDSet.R+   c         O   s   d S(   sA  
        Start an instance of the given C{portType} listening.

        @type portType: type which implements L{IListeningPort}

        @param portType: The object given by C{portType(*args, **kw)} will be
                         started listening.

        @return: an object which provides L{IListeningPort}.
        N(    (   t   portTypet   argst   kw(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt
   listenWith   s    c         O   s   d S(   sU  
        Start an instance of the given C{connectorType} connecting.

        @type connectorType: type which implements L{IConnector}

        @param connectorType: The object given by C{connectorType(*args, **kw)}
                              will be started connecting.

        @return:  An object which provides L{IConnector}.
        N(    (   t   connectorTypeR.   R/   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   connectWith   s    (   R   R   R   R   R   R0   R2   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR+      s   	t   IReactorTCPc           B   s&   e  Z d  d d  Z d d d  Z RS(   i2   t    c         C   s   d S(   s  
        Connects a given protocol factory to the given numeric TCP/IP port.

        @param port: a port number on which to listen

        @param factory: a L{twisted.internet.protocol.ServerFactory} instance

        @param backlog: size of the listen queue

        @param interface: the hostname to bind to, defaults to '' (all)

        @return: an object that provides L{IListeningPort}.

        @raise CannotListenError: as defined here
                                  L{twisted.internet.error.CannotListenError},
                                  if it cannot listen on this port (e.g., it
                                  cannot bind to the required port number)
        N(    (   t   portt   factoryt   backlogt	   interface(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt	   listenTCP   s    i   c         C   s   d S(   s  
        Connect a TCP client.

        @param host: a host name

        @param port: a port number

        @param factory: a L{twisted.internet.protocol.ClientFactory} instance

        @param timeout: number of seconds to wait before assuming the
                        connection has failed.

        @param bindAddress: a (host, port) tuple of local address to bind
                            to, or None.

        @return: An object which provides L{IConnector}. This connector will
                 call various callbacks on the factory when a connection is
                 made, failed, or lost - see
                 L{ClientFactory<twisted.internet.protocol.ClientFactory>}
                 docs for details.
        N(    (   t   hostR5   R6   R   t   bindAddress(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt
   connectTCP  s    N(   R   R   R9   t   NoneR<   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR3      s   t   IReactorSSLc           B   s&   e  Z d  d d  Z d d d  Z RS(   i   c         C   s   d S(   sV  
        Connect a client Protocol to a remote SSL socket.

        @param host: a host name

        @param port: a port number

        @param factory: a L{twisted.internet.protocol.ClientFactory} instance

        @param contextFactory: a L{twisted.internet.ssl.ClientContextFactory} object.

        @param timeout: number of seconds to wait before assuming the
                        connection has failed.

        @param bindAddress: a (host, port) tuple of local address to bind to,
                            or C{None}.

        @return: An object which provides L{IConnector}.
        N(    (   R:   R5   R6   t   contextFactoryR   R;   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt
   connectSSL   s    i2   R4   c         C   s   d S(   s  
        Connects a given protocol factory to the given numeric TCP/IP port.
        The connection is a SSL one, using contexts created by the context
        factory.

        @param port: a port number on which to listen

        @param factory: a L{twisted.internet.protocol.ServerFactory} instance

        @param contextFactory: a L{twisted.internet.ssl.ContextFactory} instance

        @param backlog: size of the listen queue

        @param interface: the hostname to bind to, defaults to '' (all)
        N(    (   R5   R6   R?   R7   R8   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt	   listenSSL5  s    N(   R   R   R=   R@   RA   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR>     s   t   IReactorUNIXc           B   s/   e  Z d  Z d d d  Z d d d d  Z RS(   s   
    UNIX socket methods.
    i   i    c         C   s   d S(   s4  
        Connect a client protocol to a UNIX socket.

        @param address: a path to a unix socket on the filesystem.

        @param factory: a L{twisted.internet.protocol.ClientFactory} instance

        @param timeout: number of seconds to wait before assuming the connection
            has failed.

        @param checkPID: if True, check for a pid file to verify that a server
            is listening.  If C{address} is a Linux abstract namespace path,
            this must be C{False}.

        @return: An object which provides L{IConnector}.
        N(    (   t   addressR6   R   t   checkPID(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   connectUNIXM  s    i2   i  c         C   s   d S(   s  
        Listen on a UNIX socket.

        @param address: a path to a unix socket on the filesystem.

        @param factory: a L{twisted.internet.protocol.Factory} instance.

        @param backlog: number of connections to allow in backlog.

        @param mode: The mode (B{not} umask) to set on the unix socket.  See
            platform specific documentation for information about how this
            might affect connection attempts.
        @type mode: C{int}

        @param wantPID: if True, create a pidfile for the socket.  If C{address}
            is a Linux abstract namespace path, this must be C{False}.

        @return: An object which provides L{IListeningPort}.
        N(    (   RC   R6   R7   t   modet   wantPID(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt
   listenUNIX`  s    (   R   R   R   RE   RH   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyRB   H  s   t   IReactorUNIXDatagramc           B   s/   e  Z d  Z d d d d  Z d d d  Z RS(   s'   
    Datagram UNIX socket methods.
    i    i  c         C   s   d S(   so  
        Connect a client protocol to a datagram UNIX socket.

        @param address: a path to a unix socket on the filesystem.

        @param protocol: a L{twisted.internet.protocol.ConnectedDatagramProtocol} instance

        @param maxPacketSize: maximum packet size to accept

        @param mode: The mode (B{not} umask) to set on the unix socket.  See
            platform specific documentation for information about how this
            might affect connection attempts.
        @type mode: C{int}

        @param bindAddress: address to bind to

        @return: An object which provides L{IConnector}.
        N(    (   RC   t   protocolt   maxPacketSizeRF   R;   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   connectUNIXDatagram|  s    c         C   s   d S(   s(  
        Listen on a datagram UNIX socket.

        @param address: a path to a unix socket on the filesystem.

        @param protocol: a L{twisted.internet.protocol.DatagramProtocol} instance.

        @param maxPacketSize: maximum packet size to accept

        @param mode: The mode (B{not} umask) to set on the unix socket.  See
            platform specific documentation for information about how this
            might affect connection attempts.
        @type mode: C{int}

        @return: An object which provides L{IListeningPort}.
        N(    (   RC   RJ   RK   RF   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   listenUNIXDatagram  s    N(   R   R   R   R=   RL   RM   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyRI   w  s   t   IReactorWin32Eventsc           B   s    e  Z d  Z d   Z d   Z RS(   s3   
    Win32 Event API methods

    @since: 10.2
    c         C   s   d S(   s  
        Add a new win32 event to the event loop.

        @param event: a Win32 event object created using win32event.CreateEvent()

        @param fd: an instance of L{twisted.internet.abstract.FileDescriptor}

        @param action: a string that is a method name of the fd instance.
                       This method is called in response to the event.

        @return: None
        N(    (   t   eventt   fdt   action(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   addEvent  s    c         C   s   d S(   s   
        Remove an event.

        @param event: a Win32 event object added using L{IReactorWin32Events.addEvent}

        @return: None
        N(    (   RO   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   removeEvent  s    (   R   R   R   RR   RS   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyRN     s   	t   IReactorUDPc           B   s   e  Z d  Z d d d  Z RS(   s   
    UDP socket methods.
    R4   i    c         C   s   d S(   s   
        Connects a given DatagramProtocol to the given numeric UDP port.

        @return: object which provides L{IListeningPort}.
        N(    (   R5   RJ   R8   RK   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt	   listenUDP  s    (   R   R   R   RU   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyRT     s   t   IReactorMulticastc           B   s    e  Z d  Z d d e d  Z RS(   s   
    UDP socket methods that support multicast.

    IMPORTANT: This is an experimental new interface. It may change
    without backwards compatability. Suggestions are welcome.
    R4   i    c         C   s   d S(   s  
        Connects a given
        L{DatagramProtocol<twisted.internet.protocol.DatagramProtocol>} to the
        given numeric UDP port.

        @param listenMultiple: If set to True, allows multiple sockets to
            bind to the same address and port number at the same time.
        @type listenMultiple: C{bool}

        @returns: An object which provides L{IListeningPort}.

        @see: L{twisted.internet.interfaces.IMulticastTransport}
        @see: U{http://twistedmatrix.com/documents/current/core/howto/udp.html}
        N(    (   R5   RJ   R8   RK   t   listenMultiple(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   listenMulticast  s    (   R   R   R   t   FalseRX   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyRV     s   t   IReactorProcessc           B   s&   e  Z d i  d d d d  d d  Z RS(   i    c	   	      C   s   d S(   s:  
        Spawn a process, with a process protocol.

        @type processProtocol: L{IProcessProtocol} provider
        @param processProtocol: An object which will be notified of all
            events related to the created process.

        @param executable: the file name to spawn - the full path should be
                           used.

        @param args: the command line arguments to pass to the process; a
                     sequence of strings. The first string should be the
                     executable's name.

        @type env: a C{dict} mapping C{str} to C{str}, or C{None}.
        @param env: the environment variables to pass to the child process. The
                    resulting behavior varies between platforms. If
                      - C{env} is not set:
                        - On POSIX: pass an empty environment.
                        - On Windows: pass C{os.environ}.
                      - C{env} is C{None}:
                        - On POSIX: pass C{os.environ}.
                        - On Windows: pass C{os.environ}.
                      - C{env} is a C{dict}:
                        - On POSIX: pass the key/value pairs in C{env} as the
                          complete environment.
                        - On Windows: update C{os.environ} with the key/value
                          pairs in the C{dict} before passing it. As a
                          consequence of U{bug #1640
                          <http://twistedmatrix.com/trac/ticket/1640>}, passing
                          keys with empty values in an effort to unset
                          environment variables I{won't} unset them.

        @param path: the path to run the subprocess in - defaults to the
                     current directory.

        @param uid: user ID to run the subprocess as. (Only available on
                    POSIX systems.)

        @param gid: group ID to run the subprocess as. (Only available on
                    POSIX systems.)

        @param usePTY: if true, run this process in a pseudo-terminal.
                       optionally a tuple of C{(masterfd, slavefd, ttyname)},
                       in which case use those file descriptors.
                       (Not available on all systems.)

        @param childFDs: A dictionary mapping file descriptors in the new child
                         process to an integer or to the string 'r' or 'w'.

                         If the value is an integer, it specifies a file
                         descriptor in the parent process which will be mapped
                         to a file descriptor (specified by the key) in the
                         child process.  This is useful for things like inetd
                         and shell-like file redirection.

                         If it is the string 'r', a pipe will be created and
                         attached to the child at that file descriptor: the
                         child will be able to write to that file descriptor
                         and the parent will receive read notification via the
                         L{IProcessProtocol.childDataReceived} callback.  This
                         is useful for the child's stdout and stderr.

                         If it is the string 'w', similar setup to the previous
                         case will occur, with the pipe being readable by the
                         child instead of writeable.  The parent process can
                         write to that file descriptor using
                         L{IProcessTransport.writeToChild}.  This is useful for
                         the child's stdin.

                         If childFDs is not passed, the default behaviour is to
                         use a mapping that opens the usual stdin/stdout/stderr
                         pipes.

        @see: L{twisted.internet.protocol.ProcessProtocol}

        @return: An object which provides L{IProcessTransport}.

        @raise OSError: Raised with errno C{EAGAIN} or C{ENOMEM} if there are
                        insufficient system resources to create a new process.
        N(    (	   t   processProtocolt
   executableR.   t   envt   patht   uidt   gidt   usePTYt   childFDs(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   spawnProcess  s    (    N(   R   R   R=   Rc   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyRZ     s   	t   IReactorTimec           B   s)   e  Z d  Z d   Z d   Z d   Z RS(   s7   
    Time methods that a Reactor should implement.
    c           C   s   d S(   sg   
        Get the current time in seconds.

        @return: A number-like object of some sort.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   secondsJ  s    c         O   s   d S(   s5  
        Call a function later.

        @type delay:  C{float}
        @param delay: the number of seconds to wait.

        @param callable: the callable object to call later.

        @param args: the arguments to call it with.

        @param kw: the keyword arguments to call it with.

        @return: An object which provides L{IDelayedCall} and can be used to
                 cancel the scheduled call, by calling its C{cancel()} method.
                 It also may be rescheduled by calling its C{delay()} or
                 C{reset()} methods.
        N(    (   t   delayt   callableR.   R/   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt	   callLaterR  s    c           C   s   d S(   s$  
        Retrieve all currently scheduled delayed calls.

        @return: A tuple of all L{IDelayedCall} providers representing all
                 currently scheduled calls. This is everything that has been
                 returned by C{callLater} but not yet called or canceled.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getDelayedCallsf  s    (   R   R   R   Re   Rh   Ri   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyRd   E  s   		t   IDelayedCallc           B   s;   e  Z d  Z d   Z d   Z d   Z d   Z d   Z RS(   s   
    A scheduled call.

    There are probably other useful methods we can add to this interface;
    suggestions are welcome.
    c           C   s   d S(   sr   
        Get time when delayed call will happen.

        @return: time in seconds since epoch (a float).
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getTimex  s    c           C   s   d S(   s   
        Cancel the scheduled call.

        @raises twisted.internet.error.AlreadyCalled: if the call has already
            happened.
        @raises twisted.internet.error.AlreadyCancelled: if the call has already
            been cancelled.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   cancel  s    c         C   s   d S(   sR  
        Delay the scheduled call.

        @param secondsLater: how many seconds from its current firing time to delay

        @raises twisted.internet.error.AlreadyCalled: if the call has already
            happened.
        @raises twisted.internet.error.AlreadyCancelled: if the call has already
            been cancelled.
        N(    (   t   secondsLater(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyRf     s    c         C   s   d S(   s  
        Reset the scheduled call's timer.

        @param secondsFromNow: how many seconds from now it should fire,
            equivalent to C{.cancel()} and then doing another
            C{reactor.callLater(secondsLater, ...)}

        @raises twisted.internet.error.AlreadyCalled: if the call has already
            happened.
        @raises twisted.internet.error.AlreadyCancelled: if the call has already
            been cancelled.
        N(    (   t   secondsFromNow(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   reset  s    c           C   s   d S(   sx   
        @return: True if this call is still active, False if it has been
                 called or cancelled.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   active  s    (   R   R   R   Rk   Rl   Rf   Ro   Rp   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyRj   p  s   		
		t   IReactorThreadsc           B   s2   e  Z d  Z d   Z d   Z d   Z d   Z RS(   s}   
    Dispatch methods to be run in threads.

    Internally, this should use a thread pool and dispatch methods to them.
    c           C   s   d S(   s   
        Return the threadpool used by L{callInThread}.  Create it first if
        necessary.

        @rtype: L{twisted.python.threadpool.ThreadPool}
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getThreadPool  s    c         O   s   d S(   s?   
        Run the callable object in a separate thread.
        N(    (   Rg   R.   t   kwargs(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   callInThread  s    c         O   s   d S(   s  
        Cause a function to be executed by the reactor thread.

        Use this method when you want to run a function in the reactor's thread
        from another thread.  Calling L{callFromThread} should wake up the main
        thread (where L{reactor.run()<reactor.run>} is executing) and run the
        given callable in that thread.

        If you're writing a multi-threaded application the C{callable} may need
        to be thread safe, but this method doesn't require it as such. If you
        want to call a function in the next mainloop iteration, but you're in
        the same thread, use L{callLater} with a delay of 0.
        N(    (   Rg   R.   R/   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   callFromThread  s    c         C   s   d S(   s{   
        Suggest the size of the internal threadpool used to dispatch functions
        passed to L{callInThread}.
        N(    (   t   size(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   suggestThreadPoolSize  s    (   R   R   R   Rr   Rt   Ru   Rw   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyRq     s
   				t   IReactorCorec           B   sq   e  Z d  Z e d  Z d d  Z d   Z d   Z d   Z d d  Z	 d	   Z
 d
   Z d   Z d   Z RS(   s5   
    Core methods that a Reactor must implement.
    sj   A C{bool} which is C{True} from I{during startup} to I{during shutdown} and C{False} the rest of the time.i
   c         C   s   d S(   s[   
        Return a L{twisted.internet.defer.Deferred} that will resolve a hostname.
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   resolve  s    c           C   s   d S(   s   
        Fire 'startup' System Events, move the reactor to the 'running'
        state, then run the main loop until it is stopped with C{stop()} or
        C{crash()}.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   run  s    c           C   s   d S(   s   
        Fire 'shutdown' System Events, which will move the reactor to the
        'stopped' state and cause C{reactor.run()} to exit.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   stop  s    c           C   s   d S(   ss  
        Stop the main loop *immediately*, without firing any system events.

        This is named as it is because this is an extremely "rude" thing to do;
        it is possible to lose data and put your system in an inconsistent
        state by calling this.  However, it is necessary, as sometimes a system
        can become wedged in a pre-shutdown call.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   crash  s    i    c         C   s   d S(   sp  
        Run the main loop's I/O polling function for a period of time.

        This is most useful in applications where the UI is being drawn "as
        fast as possible", such as games. All pending L{IDelayedCall}s will
        be called.

        The reactor must have been started (via the C{run()} method) prior to
        any invocations of this method.  It must also be stopped manually
        after the last call to this method (via the C{stop()} method).  This
        method is not re-entrant: you must not call it recursively; in
        particular, you must not call it while the reactor is running.
        N(    (   Rf   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   iterate  s    c         C   s   d S(   s   
        Fire a system-wide event.

        System-wide events are things like 'startup', 'shutdown', and
        'persist'.
        N(    (   t	   eventType(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   fireSystemEvent  s    c         O   s   d S(   s%  
        Add a function to be called when a system event occurs.

        Each "system event" in Twisted, such as 'startup', 'shutdown', and
        'persist', has 3 phases: 'before', 'during', and 'after' (in that
        order, of course).  These events will be fired internally by the
        Reactor.

        An implementor of this interface must only implement those events
        described here.

        Callbacks registered for the "before" phase may return either None or a
        Deferred.  The "during" phase will not execute until all of the
        Deferreds from the "before" phase have fired.

        Once the "during" phase is running, all of the remaining triggers must
        execute; their return values must be ignored.

        @param phase: a time to call the event -- either the string 'before',
                      'after', or 'during', describing when to call it
                      relative to the event's execution.

        @param eventType: this is a string describing the type of event.

        @param callable: the object to call before shutdown.

        @param args: the arguments to call it with.

        @param kw: the keyword arguments to call it with.

        @return: an ID that can be used to remove this call with
                 removeSystemEventTrigger.
        N(    (   t   phaseR~   Rg   R.   R/   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   addSystemEventTrigger  s    c         C   s   d S(   s  
        Removes a trigger added with addSystemEventTrigger.

        @param triggerID: a value returned from addSystemEventTrigger.

        @raise KeyError: If there is no system event trigger for the given
            C{triggerID}.

        @raise ValueError: If there is no system event trigger for the given
            C{triggerID}.

        @raise TypeError: If there is no system event trigger for the given
            C{triggerID}.
        N(    (   t	   triggerID(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   removeSystemEventTrigger6  s    c         O   s   d S(   s  
        Call a function when the reactor is running.

        If the reactor has not started, the callable will be scheduled
        to run when it does start. Otherwise, the callable will be invoked
        immediately.

        @param callable: the callable object to call later.

        @param args: the arguments to call it with.

        @param kw: the keyword arguments to call it with.

        @return: None if the callable was invoked, otherwise a system
                 event id for the scheduled call.
        N(    (   Rg   R.   R/   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   callWhenRunningF  s    (   R   R   R   R   t   runningRy   Rz   R{   R|   R}   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyRx     s   				
		#	t   IReactorPluggableResolverc           B   s   e  Z d  Z d   Z RS(   s=   
    A reactor with a pluggable name resolver interface.
    c         C   s   d S(   s   
        Set the internal resolver to use to for name lookups.

        @type resolver: An object implementing the L{IResolverSimple} interface
        @param resolver: The new resolver to use.

        @return: The previously installed resolver.
        N(    (   t   resolver(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   installResolver^  s    (   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   Y  s   t   IReactorFDSetc           B   sM   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   s   
    Implement me to be able to use L{IFileDescriptor} type resources.

    This assumes that your main-loop uses UNIX-style numeric file descriptors
    (or at least similarly opaque IDs returned from a .fileno() method)
    c         C   s   d S(   s5  
        I add reader to the set of file descriptors to get read events for.

        @param reader: An L{IReadDescriptor} provider that will be checked for
                       read events until it is removed from the reactor with
                       L{removeReader}.

        @return: C{None}.
        N(    (   t   reader(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt	   addReaderq  s    c         C   s   d S(   s8  
        I add writer to the set of file descriptors to get write events for.

        @param writer: An L{IWriteDescriptor} provider that will be checked for
                       write events until it is removed from the reactor with
                       L{removeWriter}.

        @return: C{None}.
        N(    (   t   writer(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt	   addWriter|  s    c         C   s   d S(   sb   
        Removes an object previously added with L{addReader}.

        @return: C{None}.
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   removeReader  s    c         C   s   d S(   sb   
        Removes an object previously added with L{addWriter}.

        @return: C{None}.
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   removeWriter  s    c           C   s   d S(   s   
        Remove all readers and writers.

        Should not remove reactor internal reactor connections (like a waker).

        @return: A list of L{IReadDescriptor} and L{IWriteDescriptor} providers
                 which were removed.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt	   removeAll  s    c           C   s   d S(   s   
        Return the list of file descriptors currently monitored for input
        events by the reactor.

        @return: the list of file descriptors monitored for input events.
        @rtype: C{list} of C{IReadDescriptor}
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt
   getReaders  s    c           C   s   d S(   s   
        Return the list file descriptors currently monitored for output events
        by the reactor.

        @return: the list of file descriptors monitored for output events.
        @rtype: C{list} of C{IWriteDescriptor}
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt
   getWriters  s    (
   R   R   R   R   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   i  s   					
		t   IListeningPortc           B   s)   e  Z d  Z d   Z d   Z d   Z RS(   s   
    A listening port.
    c           C   s   d S(   s   
        Start listening on this port.

        @raise CannotListenError: If it cannot listen on this port (e.g., it is
                                  a TCP port and it cannot bind to the required
                                  port number).
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   startListening  s    c           C   s   d S(   s   
        Stop listening on this port.

        If it does not complete immediately, will return Deferred that fires
        upon completion.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   stopListening  s    c           C   s   d S(   sj   
        Get the host that this port is listening for.

        @return: An L{IAddress} provider.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getHost  s    (   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   			t   ILoggingContextc           B   s   e  Z d  Z d   Z RS(   s^   
    Give context information that will be used to log events generated by
    this item.
    c           C   s   d S(   sh   
        @return: Prefix used during log formatting to indicate context.
        @rtype: C{str}
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt	   logPrefix  s    (   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   t   IFileDescriptorc           B   s    e  Z d  Z d   Z d   Z RS(   sI   
    An interface representing a UNIX-style numeric file descriptor.
    c           C   s   d S(   sn   
        @return: The platform-specified representation of a file descriptor
                 number.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   fileno  s    c         C   s   d S(   s  
        Called when the connection was lost.

        This is called when the connection on a selectable object has been
        lost.  It will be called whether the connection was closed explicitly,
        an exception occurred in an event handler, or the other end of the
        connection closed it first.

        See also L{IHalfCloseableDescriptor} if your descriptor wants to be
        notified separately of the two halves of the connection being closed.

        @param reason: A failure instance indicating the reason why the
                       connection was lost.  L{error.ConnectionLost} and
                       L{error.ConnectionDone} are of special note, but the
                       failure may be of other classes as well.
        N(    (   t   reason(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   connectionLost  s    (   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   	t   IReadDescriptorc           B   s   e  Z d  Z d   Z RS(   sz   
    An L{IFileDescriptor} that can read.

    This interface is generally used in conjunction with L{IReactorFDSet}.
    c           C   s   d S(   sH   
        Some data is available for reading on your descriptor.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   doRead  s    (   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   t   IWriteDescriptorc           B   s   e  Z d  Z d   Z RS(   s{   
    An L{IFileDescriptor} that can write.

    This interface is generally used in conjunction with L{IReactorFDSet}.
    c           C   s   d S(   s>   
        Some data can be written to your descriptor.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   doWrite  s    (   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   t   IReadWriteDescriptorc           B   s   e  Z d  Z RS(   s=   
    An L{IFileDescriptor} that can both read and write.
    (   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   t   IHalfCloseableDescriptorc           B   s    e  Z d  Z d   Z d   Z RS(   s/   
    A descriptor that can be half-closed.
    c         C   s   d S(   s6   
        Indicates write connection was lost.
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   writeConnectionLost   s    c         C   s   d S(   s5   
        Indicates read connection was lost.
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   readConnectionLost%  s    (   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   	t   ISystemHandlec           B   s   e  Z d  Z d   Z RS(   s?   
    An object that wraps a networking OS-specific handle.
    c           C   s   d S(   sb  
        Return a system- and reactor-specific handle.

        This might be a socket.socket() object, or some other type of
        object, depending on which reactor is being used. Use and
        manipulate at your own risk.

        This might be used in cases where you want to set specific
        options not exposed by the Twisted APIs.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt	   getHandle0  s    (   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   +  s   t	   IConsumerc           B   s)   e  Z d  Z d   Z d   Z d   Z RS(   s3   
    A consumer consumes data from a producer.
    c         C   s   d S(   s  
        Register to receive data from a producer.

        This sets self to be a consumer for a producer.  When this object runs
        out of data (as when a send(2) call on a socket succeeds in moving the
        last data from a userspace buffer into a kernelspace buffer), it will
        ask the producer to resumeProducing().

        For L{IPullProducer} providers, C{resumeProducing} will be called once
        each time data is required.

        For L{IPushProducer} providers, C{pauseProducing} will be called
        whenever the write buffer fills up and C{resumeProducing} will only be
        called when it empties.

        @type producer: L{IProducer} provider

        @type streaming: C{bool}
        @param streaming: C{True} if C{producer} provides L{IPushProducer},
        C{False} if C{producer} provides L{IPullProducer}.

        @raise RuntimeError: If a producer is already registered.

        @return: C{None}
        N(    (   t   producert	   streaming(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   registerProducerB  s    c           C   s   d S(   sM   
        Stop consuming data from a producer, without disconnecting.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   unregisterProducer^  s    c         C   s   d S(   s@  
        The producer will write data by calling this method.

        The implementation must be non-blocking and perform whatever
        buffering is necessary.  If the producer has provided enough data
        for now and it is a L{IPushProducer}, the consumer may call its
        C{pauseProducing} method.
        N(    (   t   data(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   writed  s    (   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   =  s   		t   IFinishableConsumerc           B   s   e  Z d  Z d   Z RS(   s/   
    A Consumer for producers that finish.
    c           C   s   d S(   s6   
        The producer has finished producing.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   finishu  s    (   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   p  s   t	   IProducerc           B   s   e  Z d  Z d   Z RS(   s   
    A producer produces data for a consumer.

    Typically producing is done by calling the write method of an class
    implementing L{IConsumer}.
    c           C   s   d S(   s   
        Stop producing data.

        This tells a producer that its consumer has died, so it must stop
        producing data for good.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   stopProducing  s    (   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   z  s   t   IPushProducerc           B   s    e  Z d  Z d   Z d   Z RS(   sZ  
    A push producer, also known as a streaming producer is expected to
    produce (write to this consumer) data on a continous basis, unless
    it has been paused. A paused push producer will resume producing
    after its resumeProducing() method is called.   For a push producer
    which is not pauseable, these functions may be noops.
    c           C   s   d S(   s   
        Pause producing data.

        Tells a producer that it has produced too much data to process for
        the time being, and to stop until resumeProducing() is called.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   pauseProducing  s    c           C   s   d S(   s   
        Resume producing data.

        This tells a producer to re-add itself to the main loop and produce
        more data for its consumer.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   resumeProducing  s    (   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   	t   IPullProducerc           B   s   e  Z d  Z d   Z RS(   s   
    A pull producer, also known as a non-streaming producer, is
    expected to produce data each time resumeProducing() is called.
    c           C   s   d S(   s  
        Produce data for the consumer a single time.

        This tells a producer to produce data for the consumer once
        (not repeatedly, once only). Typically this will be done
        by calling the consumer's write() method a single time with
        produced data.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s    (   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   t	   IProtocolc           B   s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C   s   d S(   sF  
        Called whenever data is received.

        Use this method to translate to a higher-level message.  Usually, some
        callback will be made upon the receipt of each complete protocol
        message.

        @param data: a string of indeterminate length.  Please keep in mind
            that you will probably need to buffer some data, as partial
            (or multiple) protocol messages may be received!  I recommend
            that unit tests for protocols call through to this method with
            differing chunk sizes, down to one byte at a time.
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   dataReceived  s    c         C   s   d S(   s  
        Called when the connection is shut down.

        Clear any circular references here, and any external references
        to this Protocol.  The connection has been closed. The C{reason}
        Failure wraps a L{twisted.internet.error.ConnectionDone} or
        L{twisted.internet.error.ConnectionLost} instance (or a subclass
        of one of those).

        @type reason: L{twisted.python.failure.Failure}
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s    c         C   s   d S(   s@   
        Make a connection to a transport and a server.
        N(    (   t	   transport(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   makeConnection  s    c           C   s   d S(   s  
        Called when a connection is made.

        This may be considered the initializer of the protocol, because
        it is called when the connection is completed.  For clients,
        this is called once the connection to the server has been
        established; for servers, this is called after an accept() call
        stops blocking and a socket has been received.  If you need to
        send any greeting or initial message, do it here.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   connectionMade  s    (   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   			t   IProcessProtocolc           B   s;   e  Z d  Z d   Z d   Z d   Z d   Z d   Z RS(   s7   
    Interface for process-related event handlers.
    c         C   s   d S(   s   
        Called when the process has been created.

        @type process: L{IProcessTransport} provider
        @param process: An object representing the process which has been
            created and associated with this protocol.
        N(    (   t   process(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s    c         C   s   d S(   s  
        Called when data arrives from the child process.

        @type childFD: C{int}
        @param childFD: The file descriptor from which the data was
            received.

        @type data: C{str}
        @param data: The data read from the child's file descriptor.
        N(    (   t   childFDR   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   childDataReceived  s    c         C   s   d S(   s   
        Called when a file descriptor associated with the child process is
        closed.

        @type childFD: C{int}
        @param childFD: The file descriptor which was closed.
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   childConnectionLost  s    c         C   s   d S(   s  
        Called when the child process exits.

        @type reason: L{twisted.python.failure.Failure}
        @param reason: A failure giving the reason the child process
            terminated.  The type of exception for this failure is either
            L{twisted.internet.error.ProcessDone} or
            L{twisted.internet.error.ProcessTerminated}.

        @since: 8.2
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   processExited	  s    c         C   s   d S(   s  
        Called when the child process exits and all file descriptors associated
        with it have been closed.

        @type reason: L{twisted.python.failure.Failure}
        @param reason: A failure giving the reason the child process
            terminated.  The type of exception for this failure is either
            L{twisted.internet.error.ProcessDone} or
            L{twisted.internet.error.ProcessTerminated}.
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   processEnded  s    (   R   R   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   	
		
	t   IHalfCloseableProtocolc           B   s    e  Z d  Z d   Z d   Z RS(   sA  
    Implemented to indicate they want notification of half-closes.

    TCP supports the notion of half-closing the connection, e.g.
    closing the write side but still not stopping reading. A protocol
    that implements this interface will be notified of such events,
    instead of having connectionLost called.
    c           C   s   d S(   s<  
        Notification of the read connection being closed.

        This indicates peer did half-close of write side. It is now
        the responsiblity of the this protocol to call
        loseConnection().  In addition, the protocol MUST make sure a
        reference to it still exists (i.e. by doing a callLater with
        one of its methods, etc.)  as the reactor will only have a
        reference to it if it is writing.

        If the protocol does not do so, it might get garbage collected
        without the connectionLost method ever being called.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   /  s    c           C   s   d S(   s   
        Notification of the write connection being closed.

        This will never be called for TCP connections as TCP does not
        support notification of this type of half-close.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   >  s    (   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   %  s   	t   IProtocolFactoryc           B   s)   e  Z d  Z d   Z d   Z d   Z RS(   s+   
    Interface for protocol factories.
    c         C   s   d S(   s  
        Called when a connection has been established to addr.

        If None is returned, the connection is assumed to have been refused,
        and the Port will close the connection.

        @type addr: (host, port)
        @param addr: The address of the newly-established connection

        @return: None if the connection was refused, otherwise an object
                 providing L{IProtocol}.
        N(    (   t   addr(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   buildProtocolL  s    c           C   s   d S(   sM   
        Called every time this is connected to a Port or Connector.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   doStartZ  s    c           C   s   d S(   sQ   
        Called every time this is unconnected from a Port or Connector.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   doStop_  s    (   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   G  s   		t
   ITransportc           B   s;   e  Z d  Z d   Z d   Z d   Z d   Z d   Z RS(   s  
    I am a transport for bytes.

    I represent (and wrap) the physical connection and synchronicity
    of the framework which is talking to the network.  I make no
    representations about whether calls to me will happen immediately
    or require returning to a control loop, or whether they will happen
    in the same or another thread.  Consider methods of this class
    (aside from getPeer) to be 'thrown over the wall', to happen at some
    indeterminate time.
    c         C   s   d S(   s  
        Write some data to the physical connection, in sequence, in a
        non-blocking fashion.

        If possible, make sure that it is all written.  No data will
        ever be lost, although (obviously) the connection may be closed
        before it all gets through.
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   r  s    c         C   s   d S(   s   
        Write a list of strings to the physical connection.

        If possible, make sure that all of the data is written to
        the socket at once, without first copying it all into a
        single string.
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   writeSequence|  s    c           C   s   d S(   s   
        Close my connection, after writing all pending data.

        Note that if there is a registered producer on a transport it
        will not be closed until the producer has been unregistered.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   loseConnection  s    c           C   s   d S(   sh  
        Get the remote address of this connection.

        Treat this method with caution.  It is the unfortunate result of the
        CGI and Jabber standards, but should not be considered reliable for
        the usual host of reasons; port forwarding, proxying, firewalls, IP
        masquerading, etc.

        @return: An L{IAddress} provider.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getPeer  s    c           C   s   d S(   s   
        Similar to getPeer, but returns an address describing this side of the
        connection.

        @return: An L{IAddress} provider.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s    (   R   R   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   e  s   	
				t   ITCPTransportc           B   sM   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   s    
    A TCP based transport.
    c           C   s   d S(   sq  
        Half-close the write side of a TCP connection.

        If the protocol instance this is attached to provides
        IHalfCloseableProtocol, it will get notified when the operation is
        done. When closing write connection, as with loseConnection this will
        only happen when buffer has emptied and there is no registered
        producer.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   loseWriteConnection  s    c           C   s   d S(   s6   
        Return if C{TCP_NODELAY} is enabled.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getTcpNoDelay  s    c         C   s   d S(   s   
        Enable/disable C{TCP_NODELAY}.

        Enabling C{TCP_NODELAY} turns off Nagle's algorithm. Small packets are
        sent sooner, possibly at the expense of overall throughput.
        N(    (   t   enabled(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   setTcpNoDelay  s    c           C   s   d S(   s7   
        Return if C{SO_KEEPALIVE} is enabled.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getTcpKeepAlive  s    c         C   s   d S(   s  
        Enable/disable C{SO_KEEPALIVE}.

        Enabling C{SO_KEEPALIVE} sends packets periodically when the connection
        is otherwise idle, usually once every two hours. They are intended
        to allow detection of lost peers in a non-infinite amount of time.
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   setTcpKeepAlive  s    c           C   s   d S(   s)   
        Returns L{IPv4Address}.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s    c           C   s   d S(   s)   
        Returns L{IPv4Address}.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s    (
   R   R   R   R   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   							t   ITLSTransportc           B   s   e  Z d  Z d   Z RS(   s   
    A TCP transport that supports switching to TLS midstream.

    Once TLS mode is started the transport will implement L{ISSLTransport}.
    c         C   s   d S(   s   
        Initiate TLS negotiation.

        @param contextFactory: A context factory (see L{ssl.py<twisted.internet.ssl>})
        N(    (   R?   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   startTLS  s    (   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   t   ISSLTransportc           B   s   e  Z d  Z d   Z RS(   s$   
    A SSL/TLS based transport.
    c           C   s   d S(   sD   
        Return an object with the peer's certificate info.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getPeerCertificate  s    (   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   t   IProcessTransportc           B   sY   e  Z d  Z e d  Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z RS(	   s   
    A process transport.
    s   From before L{IProcessProtocol.makeConnection} is called to before L{IProcessProtocol.processEnded} is called, C{pid} is an L{int} giving the platform process ID of this process.  C{pid} is L{None} at all other times.c           C   s   d S(   sB   
        Close stdin after all data has been written out.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt
   closeStdin  s    c           C   s   d S(   s   
        Close stdout.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   closeStdout  s    c           C   s   d S(   s   
        Close stderr.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   closeStderr  s    c         C   s   d S(   s   
        Close a file descriptor which is connected to the child process, identified
        by its FD in the child process.
        N(    (   t
   descriptor(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   closeChildFD  s    c         C   s   d S(   s  
        Similar to L{ITransport.write} but also allows the file descriptor in
        the child process which will receive the bytes to be specified.

        This is not available on all platforms.

        @type childFD: C{int}
        @param childFD: The file descriptor to which to write.

        @type data: C{str}
        @param data: The bytes to write.

        @return: C{None}
        N(    (   R   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   writeToChild  s    c           C   s   d S(   s1   
        Close stdin, stderr and stdout.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   !  s    c         C   s   d S(   s  
        Send a signal to the process.

        @param signalID: can be
          - one of C{"KILL"}, C{"TERM"}, or C{"INT"}.
              These will be implemented in a
              cross-platform manner, and so should be used
              if possible.
          - an integer, where it represents a POSIX
              signal ID.

        @raise twisted.internet.error.ProcessExitedAlready: The process has
        already exited.
        N(    (   t   signalID(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   signalProcess&  s    (   R   R   R   R   t   pidR   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   							t   IServiceCollectionc           B   s)   e  Z d  Z d   Z d   Z d   Z RS(   sF   
    An object which provides access to a collection of services.
    c         C   s   d S(   s   
        Retrieve the named service from this application.

        Raise a C{KeyError} if there is no such service name.
        N(    (   t   serviceName(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getServiceNamed<  s    c         C   s   d S(   s3   
        Add a service to this collection.
        N(    (   t   service(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt
   addServiceC  s    c         C   s   d S(   s8   
        Remove a service from this collection.
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   removeServiceH  s    (   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   7  s   		t   IUDPTransportc           B   s5   e  Z d  Z d d  Z d   Z d   Z d   Z RS(   s.   
    Transport for UDP DatagramProtocols.
    c         C   s   d S(   s`  
        Write packet to given address.

        @param addr: a tuple of (ip, port). For connected transports must
                     be the address the transport is connected to, or None.
                     In non-connected mode this is mandatory.

        @raise twisted.internet.error.MessageLengthError: C{packet} was too
        long.
        N(    (   t   packetR   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   S  s    c         C   s   d S(   s  
        Connect the transport to an address.

        This changes it to connected mode. Datagrams can only be sent to
        this address, and will only be received from this address. In addition
        the protocol's connectionRefused method might get called if destination
        is not receiving datagrams.

        @param host: an IP address, not a domain name ('127.0.0.1', not 'localhost')
        @param port: port to connect to.
        N(    (   R:   R5   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   _  s    c           C   s   d S(   s)   
        Returns L{IPv4Address}.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   l  s    c           C   s   d S(   s   
        Stop listening on this port.

        If it does not complete immediately, will return L{Deferred} that fires
        upon completion.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   q  s    N(   R   R   R   R=   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   N  s
   		t   IUNIXDatagramTransportc           B   s    e  Z d  Z d   Z d   Z RS(   s,   
    Transport for UDP PacketProtocols.
    c         C   s   d S(   s0   
        Write packet to given address.
        N(    (   R   RC   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s    c           C   s   d S(   s)   
        Returns L{UNIXAddress}.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s    (   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR   {  s   	t   IUNIXDatagramConnectedTransportc           B   s)   e  Z d  Z d   Z d   Z d   Z RS(   s5   
    Transport for UDP ConnectedPacketProtocols.
    c         C   s   d S(   s>   
        Write packet to address we are connected to.
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s    c           C   s   d S(   s)   
        Returns L{UNIXAddress}.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s    c           C   s   d S(   s)   
        Returns L{UNIXAddress}.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s    (   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   		t   IMulticastTransportc           B   s\   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d d  Z	 d d	  Z
 RS(
   s5   
    Additional functionality for multicast UDP.
    c           C   s   d S(   sA   
        Return interface of outgoing multicast packets.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getOutgoingInterface  s    c         C   s   d S(   se   
        Set interface for outgoing multicast packets.

        Returns Deferred of success.
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   setOutgoingInterface  s    c           C   s   d S(   s5   
        Return if loopback mode is enabled.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getLoopbackMode  s    c         C   s   d S(   s2   
        Set if loopback mode is enabled.
        N(    (   RF   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   setLoopbackMode  s    c           C   s   d S(   s9   
        Get time to live for multicast packets.
        N(    (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   getTTL  s    c         C   s   d S(   s8   
        Set time to live on multicast packets.
        N(    (   t   ttl(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   setTTL  s    R4   c         C   s   d S(   s   
        Join a multicast group. Returns L{Deferred} of success or failure.

        If an error occurs, the returned L{Deferred} will fail with
        L{error.MulticastJoinError}.
        N(    (   R   R8   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt	   joinGroup  s    c         C   s   d S(   sG   
        Leave multicast group, return L{Deferred} of success.
        N(    (   R   R8   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt
   leaveGroup  s    (   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   						t   IStreamClientEndpointc           B   s   e  Z d  Z d   Z RS(   s   
    A stream client endpoint is a place that L{ClientFactory} can connect to.
    For example, a remote TCP host/port pair would be a TCP client endpoint.

    @since: 10.1
    c         C   s   d S(   sB  
        Connect the C{protocolFactory} to the location specified by this
        L{IStreamClientEndpoint} provider.

        @param protocolFactory: A provider of L{IProtocolFactory}
        @return: A L{Deferred} that results in an L{IProtocol} upon successful
            connection otherwise a L{ConnectError}
        N(    (   t   protocolFactory(    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s    (   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   t   IStreamServerEndpointc           B   s   e  Z d  Z d   Z RS(   sz   
    A stream server endpoint is a place that a L{Factory} can listen for
    incoming connections.

    @since: 10.1
    c         C   s   d S(   s+  
        Listen with C{protocolFactory} at the location specified by this
        L{IStreamServerEndpoint} provider.

        @param protocolFactory: A provider of L{IProtocolFactory}
        @return: A L{Deferred} that results in an L{IListeningPort} or an
            L{CannotListenError}
        N(    (   R   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   listen  s    (   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   t!   IStreamServerEndpointStringParserc           B   s#   e  Z d  Z e d  Z d   Z RS(   s   
    An L{IStreamServerEndpointStringParser} is like an
    L{IStreamClientEndpointStringParser}, except for L{IStreamServerEndpoint}s
    instead of clients.  It integrates with L{endpoints.serverFromString} in
    much the same way.
    sC   
        @see: L{IStreamClientEndpointStringParser.prefix}
        c         O   s   d S(   s  
        Parse a stream server endpoint from a reactor and string-only arguments
        and keyword arguments.

        @see: L{IStreamClientEndpointStringParser.parseStreamClient}

        @return: a stream server endpoint
        @rtype: L{IStreamServerEndpoint}
        N(    (   t   reactorR.   Rs   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   parseStreamServer
  s    (   R   R   R   R   t   prefixR   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   	t!   IStreamClientEndpointStringParserc           B   s#   e  Z d  Z e d  Z d   Z RS(   s  
    An L{IStreamClientEndpointStringParser} is a parser which can convert
    a set of string C{*args} and C{**kwargs} into an L{IStreamClientEndpoint}
    provider.

    This interface is really only useful in the context of the plugin system
    for L{endpoints.clientFromString}.  See the document entitled "I{The
    Twisted Plugin System}" for more details on how to write a plugin.

    If you place an L{IStreamClientEndpointStringParser} plugin in the
    C{twisted.plugins} package, that plugin's C{parseStreamClient} method will
    be used to produce endpoints for any description string that begins with
    the result of that L{IStreamClientEndpointStringParser}'s prefix attribute.
    s  
        A C{str}, the description prefix to respond to.  For example, an
        L{IStreamClientEndpointStringParser} plugin which had C{"foo"} for its
        C{prefix} attribute would be called for endpoint descriptions like
        C{"foo:bar:baz"} or C{"foo:"}.
        c         O   s   d S(   s  
        This method is invoked by L{endpoints.clientFromString}, if the type of
        endpoint matches the return value from this
        L{IStreamClientEndpointStringParser}'s C{prefix} method.

        @param reactor: The reactor passed to C{clientFromString}.

        @param args: The string arguments, minus the endpoint type, in the
            endpoint description string, parsed according to the rules
            described in L{endpoints.quoteStringArgument}.  For example, if the
            description were C{"my-type:foo:bar:baz=qux"}, C{args} would be
            C{('foo','bar')}

        @param kwargs: The string arguments from the endpoint description
            passed as keyword arguments.  For example, if the description were
            C{"my-type:foo:bar:baz=qux"}, C{kwargs} would be
            C{dict(baz='qux')}.

        @return: a client endpoint
        @rtype: L{IStreamClientEndpoint}
        N(    (   R   R.   Rs   (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   parseStreamClient1  s    (   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyR     s   	N(;   R   t   zope.interfaceR    R   t   twisted.python.deprecateR   t   twisted.python.versionsR   R   R   R   R   R+   t   _IReactorArbitraryR3   R>   RB   RI   RN   RT   RV   RZ   Rd   Rj   Rq   Rx   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s?   /usr/lib/python2.7/dist-packages/twisted/internet/interfaces.pyt   <module>   sl   	!x'-*/.!V+9-I3
0B"=6F-3