twisted.internet.iocpreactor.tcp.Connection(abstract.FileHandle, _SocketCloser, _AbortingMixin)
class documentationtwisted.internet.iocpreactor.tcp
(View In Hierarchy)
Known subclasses: twisted.internet.iocpreactor.tcp.Client, twisted.internet.iocpreactor.tcp.Server
Implements interfaces: twisted.internet.interfaces.ISystemHandle, twisted.internet.interfaces.ITCPTransport, twisted.internet.interfaces.ITLSTransport, twisted.internet.iocpreactor.interfaces.IReadWriteHandle
Instance Variable | TLS | False to indicate the connection is in normal TCP mode,
True to indicate that TLS has been started and that operations
must be routed through the TLSMemoryBIOProtocol
instance. |
Method | __init__ | Undocumented |
Method | getHandle | Return a system- and reactor-specific handle. |
Method | dataReceived | |
Method | readFromHandle | Read into the given buffers from this handle. |
Method | writeToHandle | Send buff to current file handle using
_iocp.send . The buffer sent is limited to a size of
self.SEND_LIMIT . |
Method | readConnectionLost | Indicates read connection was lost. |
Method | connectionLost | The connection was lost. |
Method | logPrefix | Return the prefix to log with when I own the logging thread. |
Method | getTcpNoDelay | Return if TCP_NODELAY is enabled. |
Method | setTcpNoDelay | Enable/disable TCP_NODELAY . |
Method | getTcpKeepAlive | Return if SO_KEEPALIVE is enabled. |
Method | setTcpKeepAlive | Enable/disable SO_KEEPALIVE . |
Method | startTLS | |
Method | write | Write some data, either directly to the underlying handle or, if TLS has
been started, to the TLSMemoryBIOProtocol
for it to encrypt and send. |
Method | writeSequence | Write some data, either directly to the underlying handle or, if TLS has
been started, to the TLSMemoryBIOProtocol
for it to encrypt and send. |
Method | loseConnection | Close the underlying handle or, if TLS has been started, first shut it down. |
Method | registerProducer | Register a producer. |
Method | unregisterProducer | Unregister a producer. |
Method | _closeWriteConnection | Undocumented |
Inherited from FileHandle:
Method | startReading | Undocumented |
Method | stopReading | Undocumented |
Method | doRead | Undocumented |
Method | loseWriteConnection | Undocumented |
Method | writeConnectionLost | Indicates write connection was lost. |
Method | startWriting | No summary |
Method | stopWriting | Undocumented |
Method | doWrite | Undocumented |
Method | getFileHandle | Undocumented |
Method | stopConsuming | Stop consuming data. |
Method | resumeProducing | Resume producing data. |
Method | pauseProducing | Pause producing data. |
Method | stopProducing | Stop producing data. |
Method | _resumeReading | Undocumented |
Method | _dispatchData | Dispatch previously read data. Return True if self.reading and we don't have any more data |
Method | _cbRead | Undocumented |
Method | _handleRead | Returns False if we should stop reading for now |
Method | _resumeWriting | Undocumented |
Method | _cbWrite | Undocumented |
Method | _handleWrite | Returns false if we should stop writing for now |
Inherited from _ConsumerMixin (via FileHandle):
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 |
Inherited from _LogOwner (via FileHandle):
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 |
Inherited from _AbortingMixin:
Method | abortConnection | Aborts the connection immediately, dropping any buffered data. |
Instance Variable | _aborting | Set to True when abortConnection is called. (type: bool ) |
False
to indicate the connection is in normal TCP mode,
True
to indicate that TLS has been started and that operations
must be routed through the TLSMemoryBIOProtocol
instance.
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.
Read into the given buffers from this handle.
Parameters | buff | the buffers to read into (type: list of objects implementing the read/write buffer protocol) |
evt | an IOCP Event object | |
Returns | tuple (return code, number of bytes read) |
Send buff
to current file handle using
_iocp.send
. The buffer sent is limited to a size of
self.SEND_LIMIT
.
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.
Clean up state here, but make sure to call back up to FileDescriptor.
Enable/disable TCP_NODELAY
.
Enabling TCP_NODELAY
turns off Nagle's algorithm. Small
packets are sent sooner, possibly at the expense of overall throughput.
Enable/disable SO_KEEPALIVE
.
Enabling 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.
Write some data, either directly to the underlying handle or, if TLS has
been started, to the TLSMemoryBIOProtocol
for it to encrypt and send.
See Also | twisted.internet.interfaces.ITransport.write |
Write some data, either directly to the underlying handle or, if TLS has
been started, to the TLSMemoryBIOProtocol
for it to encrypt and send.
See Also | twisted.internet.interfaces.ITransport.writeSequence |
Close the underlying handle or, if TLS has been started, first shut it down.
See Also | twisted.internet.interfaces.ITransport.loseConnection |
Register a producer.
If TLS is enabled, the TLS connection handles this.