twisted.internet.tcp.Port(base.BasePort, _SocketCloser) class documentationtwisted.internet.tcp
View Source
(View In Hierarchy)
Known subclasses: twisted.internet.ssl.Port, twisted.internet.unix.Port
Implements interfaces: twisted.internet.interfaces.IListeningPort
A TCP server port, listening for connections.
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 | Stop producing data. |
| 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) |
| 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:
| Instance Variable | _shouldShutdown | Set to True if shutdown should be called before
calling close on the underlying socket. (type: bool) |
| 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).
Initialize with a numeric port to listen on.
Create a new 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. | |
Create and bind my socket, and begin listening on it.
This is called on unserialization, and must be called after creating a server to begin listening on the specified port.
Called when my socket is ready for reading.
This accepts a connection and calls self.protocol() to handle the wire-level protocol.
Stop accepting connections on this port.
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.
Log message for closing port
Cleans up the socket.
Return an IPv4Address
or IPv6Address
indicating the listening address of this port.