Part of twisted.internet.tcp View Source View In Hierarchy
Known subclasses: twisted.internet.ssl.Port, twisted.internet.unix.Port
Implements interfaces: twisted.internet.interfaces.IListeningPort
When a connection is accepted, this will call a factory's buildProtocol
with the incoming address as an argument, according to the specification
described in twisted.internet.interfaces.IProtocolFactory
.
If you wish to change the sort of transport that will be used, the
transport
attribute will be called with the signature expected
for Server.__init__
, so it can be replaced.
Instance Variable | deferred | a deferred created when stopListening is called, and that will
fire when connection is lost. This is not to be used it directly: prefer
the deferred returned by stopListening instead. (type: defer.Deferred ) |
Instance Variable | disconnecting | flag indicating that the stopListening method has been called
and that no connections should be accepted anymore. (type: bool ) |
Instance Variable | connected | flag set once the listen has successfully been called on the socket. (type: bool ) |
Method | __init__ | Initialize with a numeric port to listen on. |
Method | __repr__ | Undocumented |
Method | createInternetSocket | Undocumented |
Method | startListening | Create and bind my socket, and begin listening on it. |
Method | doRead | Called when my socket is ready for reading. |
Method | loseConnection | Stop accepting connections on this port. |
Method | connectionLost | Cleans up the socket. |
Method | logPrefix | Returns the name of my class, to prefix log entries with. |
Method | getHost | Return an IPv4Address
or IPv6Address
indicating the listening address of this port. |
Instance Variable | _type | A string describing the connections which will be created by this port.
Normally this is "TCP" , since this is a TCP port,
but when the TLS implementation re-uses this class it overrides the value
with "TLS" . Only used for logging. |
Instance Variable | _preexistingSocket | If not None , a socket.socket
instance which was created and initialized outside of the reactor and will
be used to listen for connections (instead of a new socket being created by
this Port ). |
Class Method | _fromListeningDescriptor | Create a new Port based on an
existing listening SOCK_STREAM socket. |
Method | _buildAddr | Undocumented |
Method | _logConnectionLostMsg | Log message for closing port |
Inherited from BasePort:
Method | doWrite | Raises a RuntimeError |
Inherited from FileDescriptor (via BasePort):
Method | writeSomeData | Write as much as possible of the given data, immediately. |
Method | writeConnectionLost | Indicates write connection was lost. |
Method | readConnectionLost | Indicates read connection was lost. |
Method | write | Reliably write some data. |
Method | writeSequence | Reliably write a sequence of data. |
Method | loseWriteConnection | Undocumented |
Method | stopReading | Stop waiting for read availability. |
Method | stopWriting | Stop waiting for write availability. |
Method | startReading | Start waiting for read availability. |
Method | startWriting | Start waiting for write availability. |
Method | stopConsuming | Stop consuming data. |
Method | resumeProducing | Resume producing data. |
Method | pauseProducing | Pause producing data. |
Method | stopProducing | Undocumented |
Method | fileno | File Descriptor number for select(). |
Method | _postLoseConnection | Called after a loseConnection(), when all data has been written. |
Method | _closeWriteConnection | Undocumented |
Method | _isSendBufferFull | Determine whether the user-space send buffer for this transport is full or not. |
Method | _maybePauseProducer | Possibly pause a producer, if there is one and the send buffer is full. |
Inherited from _ConsumerMixin (via BasePort, FileDescriptor):
Instance Variable | producer | None if no producer is registered, otherwise the registered
producer. |
Instance Variable | producerPaused | A flag indicating whether the producer is currently paused. (type: bool or int ) |
Instance Variable | streamingProducer 0 | A flag indicating whether the producer was registered as a streaming (ie
push) producer or not (ie a pull producer). This will determine whether
the consumer may ever need to pause and resume it, or if it can merely call
resumeProducing on it when buffer space is available. |
Instance Variable | streamingProducer | bool or int |
Method | registerProducer | Register to receive data from a producer. |
Method | unregisterProducer | Stop consuming data from a producer, without disconnecting. |
Inherited from _LogOwner (via BasePort, FileDescriptor):
Method | _getLogPrefix | Determine the log prefix to use for messages related to
applicationObject , which may or may not be an interfaces.ILoggingContext
provider. |
Inherited from _SocketCloser:
Method | _closeSocket | Undocumented |
stopListening
is called, and that will
fire when connection is lost. This is not to be used it directly: prefer
the deferred returned by stopListening
instead. (type: defer.Deferred
)
stopListening
method has been called
and that no connections should be accepted anymore. (type: bool
)
"TCP"
, since this is a TCP port,
but when the TLS implementation re-uses this class it overrides the value
with "TLS"
. Only used for logging.
None
, a socket.socket
instance which was created and initialized outside of the reactor and will
be used to listen for connections (instead of a new socket being created by
this Port
).
Port
based on an
existing listening SOCK_STREAM socket.
Arguments are the same as to Port.__init__
,
except where noted.
Parameters | fd | An integer file descriptor associated with a listening socket. The socket must be in non-blocking mode. Any additional attributes desired, such as FD_CLOEXEC, must also be set already. |
addressFamily | The address family (sometimes called domain) of the existing socket.
For example, socket.AF_INET . | |
Returns | A new instance of cls wrapping the socket given by
fd . |
This is called on unserialization, and must be called after creating a server to begin listening on the specified port.
This accepts a connection and calls self.protocol() to handle the wire-level protocol.
This will shut down the socket and call self.connectionLost(). It returns a deferred which will fire successfully when the port is actually closed, or with a failure if an error occurs shutting down.