Package twisted :: Package protocols :: Module policies :: Class TimeoutProtocol

[show private | hide private]
[frames | no frames]

## Class TimeoutProtocol

    BaseProtocol --+
                   |
            Protocol --+
                       |
         ProtocolWrapper --+
                           |
                          TimeoutProtocol

Protocol that automatically disconnects when the connection is idle.

Stability: Unstable

Method Summary
| ``__init__`(self, factory, wrappedProtocol, timeoutPeriod)` Constructor.
| ``cancelTimeout`(self)` Cancel the timeout.
| ``connectionFailed`(self)` (Deprecated) (inherited from `Protocol`)
| ``connectionLost`(self, reason)` Called when the connection is shut down.
| ``connectionMade`(self)` Called when a connection is made. (inherited from `ProtocolWrapper`)
| ``dataReceived`(self, data)` Called whenever data is received.
| `getHost(self)` (inherited from `ProtocolWrapper`)
| `getPeer(self)` (inherited from `ProtocolWrapper`)
| `loseConnection(self)` (inherited from `ProtocolWrapper`)
| `registerProducer(self, producer, streaming)` (inherited from `ProtocolWrapper`)
| ``resetTimeout`(self)` Reset the timeout, usually because some activity just happened.
| ``setTimeout`(self, timeoutPeriod)` Set a timeout.
| `stopConsuming(self)` (inherited from `ProtocolWrapper`)
| ``timeoutFunc`(self)` This method is called when the timeout is triggered.
| `unregisterProducer(self)` (inherited from `ProtocolWrapper`)
| `write(self, data)`
| `writeSequence(self, seq)`

Method Details

### __init__(self, factory, wrappedProtocol, timeoutPeriod)
(Constructor)

Constructor.

  Parameters:
    `factory` - An `IFactory`.
    `wrappedProtocol` - A `Protocol` to wrapp.
    `timeoutPeriod` - Number of seconds to wait for activity before timing out.

### cancelTimeout(self)

Cancel the timeout.

If the timeout was already cancelled, this does nothing.

### connectionLost(self, reason)

Called when the connection is shut down.

Clear any circular references here, and any external references to this Protocol. The connection has been closed.

  Parameters:
    `reason`
    (type=`twisted.python.failure.Failure`)
  Overrides:
    `twisted.protocols.policies.ProtocolWrapper.connectionLost` (inherited documentation)

### dataReceived(self, data)

Called whenever data is received.

Use this method to translate to a higher-level message. Usually, some callback will be made upon the receipt of each complete protocol message.

  Parameters:
    `data` - a string of indeterminate length. Please keep in mind that you will probably need to buffer some data, as partial (or multiple) protocol messages may be received! I recommend that unit tests for protocols call through to this method with differing chunk sizes, down to one byte at a time.
  Overrides:
    `twisted.protocols.policies.ProtocolWrapper.dataReceived` (inherited documentation)

### resetTimeout(self)

Reset the timeout, usually because some activity just happened.

### setTimeout(self, timeoutPeriod=None)

Set a timeout.

This will cancel any existing timeouts.

  Parameters:
    `timeoutPeriod` - If not `None`, change the timeout period. Otherwise, use the existing value.

### timeoutFunc(self)

This method is called when the timeout is triggered.

By default it calls `loseConnection`. Override this if you want something else to happen.

Generated by Epydoc 1.1 on Thu May 8 13:16:46 2003 | http://epydoc.sf.net