twisted.internet.test.test_tcp.TCPConnectionTestsBuilder(ReactorBuilder)
class documentationtwisted.internet.test.test_tcp
(View In Hierarchy)
Builder defining tests relating to twisted.internet.tcp.Connection
.
Method | test_stopStartReading | This test verifies transport socket read state after multiple pause/resumeProducing calls. |
Method | test_resumeProducing | When a Server is
connected, its resumeProducing method adds it as a reader to
the reactor. |
Method | test_resumeProducingWhileDisconnecting | When a Server has already
started disconnecting via loseConnection , its
resumeProducing method does not add it as a reader to its
reactor. |
Method | test_resumeProducingWhileDisconnected | When a Server has already
lost its connection, its resumeProducing method does not add
it as a reader to its reactor. |
Method | test_connectionLostAfterPausedTransport | No summary |
Method | test_doubleHalfClose | If one side half-closes its connection, and then the other side of the
connection calls loseWriteConnection , and then
loseConnection in {writeConnectionLost}, the connection is
closed correctly. |
Inherited from ReactorBuilder:
Class Variable | skippedReactors | A dict mapping FQPN strings of reactors for which the tests defined by this class will be skipped to strings giving the skip message. |
Class Variable | requiredInterfaces | A list of interfaces which the reactor must provide or these
tests will be skipped. The default, None ,
means that no interfaces are required. |
Instance Variable | reactorFactory | A no-argument callable which returns the reactor to use for testing. |
Instance Variable | originalHandler | The SIGCHLD handler which was installed when setUp ran and which will be re-installed when tearDown runs. |
Method | setUp | Clear the SIGCHLD handler, if there is one, to ensure an environment
like the one which exists prior to a call to reactor.run . |
Method | tearDown | Restore the original SIGCHLD handler and reap processes as long as there seem to be any remaining. |
Method | unbuildReactor | Clean up any resources which may have been allocated for the given reactor by its creation or by a test which used it. |
Method | buildReactor | Create and return a reactor using self.reactorFactory . |
Method | getTimeout | Determine how long to run the test before considering it failed. |
Method | runReactor | Run the reactor for at most the given amount of time. |
Class Method | makeTestCaseClasses | Create a SynchronousTestCase
subclass which mixes in cls for each known reactor and return
a dict mapping their names to them. |
Instance Variable | _reactors | A list of FQPN strings giving the reactors for which SynchronousTestCase s
will be created. |
This test verifies transport socket read state after multiple pause/resumeProducing calls.
When a Server
is
connected, its resumeProducing
method adds it as a reader to
the reactor.
When a Server
has already
started disconnecting via loseConnection
, its
resumeProducing
method does not add it as a reader to its
reactor.
When a Server
has already
lost its connection, its resumeProducing
method does not add
it as a reader to its reactor.
Alice connects to Bob. Alice writes some bytes and then shuts down the connection. Bob receives the bytes from the connection and then pauses the transport object. Shortly afterwards Bob resumes the transport object. At that point, Bob is notified that the connection has been closed.
This is no problem for most reactors. The underlying event notification API will probably just remind them that the connection has been closed. It is a little tricky for win32eventreactor (MsgWaitForMultipleObjects). MsgWaitForMultipleObjects will only deliver the close notification once. The reactor needs to remember that notification until Bob resumes the transport.