o ¯b! ã @sŒdZddlmZmZddlmZddlmZmZdej fdd„Z dd e d ej d eej defd d „Z d e d ej dejfdd„Zd dgZdS)z° Construct listening port services from a simple string description. @see: L{twisted.internet.endpoints.serverFromString} @see: L{twisted.internet.endpoints.clientFromString} é)ÚOptionalÚcast)ÚStreamServerEndpointService)Ú endpointsÚ interfacesÚreturncCsddlm}ttj|ƒS)Nr©Úreactor)Útwisted.internetr rrÚ IReactorCorer©r ú>/usr/lib/python3/dist-packages/twisted/application/strports.pyÚ _getReactors  rNÚ descriptionÚfactoryr cCs*|durtƒ}tt ||¡|ƒ}d|_|S)aj Return the service corresponding to a description. @param description: The description of the listening port, in the syntax described by L{twisted.internet.endpoints.serverFromString}. @type description: C{str} @param factory: The protocol factory which will build protocols for connections to this service. @type factory: L{twisted.internet.interfaces.IProtocolFactory} @rtype: C{twisted.application.service.IService} @return: the service corresponding to a description of a reliable stream server. @see: L{twisted.internet.endpoints.serverFromString} NT)rrrÚserverFromStringÚ_raiseSynchronously)rrr Úsvcr r r Úservices ÿrcCs>ddlm}t ||¡\}}}ttjt|d|ƒ|i|¤ŽƒS)ac Listen on a port corresponding to a description. @param description: The description of the connecting port, in the syntax described by L{twisted.internet.endpoints.serverFromString}. @type description: L{str} @param factory: The protocol factory which will build protocols on connection. @type factory: L{twisted.internet.interfaces.IProtocolFactory} @rtype: L{twisted.internet.interfaces.IListeningPort} @return: the port corresponding to a description of a reliable virtual circuit server. @see: L{twisted.internet.endpoints.serverFromString} rrÚlisten)r r rÚ _parseServerrrÚIListeningPortÚgetattr)rrr ÚnameÚargsÚkwr r r r7s ÿr)N)Ú__doc__ÚtypingrrÚtwisted.application.internetrr rrr rÚstrÚIProtocolFactoryrrrÚ__all__r r r r Ús.  ýÿþý ü ÿÿ þ