Package twisted :: Package protocols :: Module stateful :: Class StatefulProtocol

[frames | no frames]

## Class StatefulProtocol

    BaseProtocol --+
                   |
            Protocol --+
                       |
                      StatefulProtocol

A Protocol that stores state for you.

state is a pair (function, num_bytes). When num_bytes bytes of data arrives from the network, function is called. It is expected to return the next state or None to keep same state. Initial state is returned by getInitialState (override it).

Method Summary
| ``dataReceived`(self, data)` Called whenever data is received.
| `getInitialState(self)`
| ``makeConnection`(self, transport)` Make a connection to a transport and a server.
Inherited from Protocol
| ``connectionFailed`(self)` (Deprecated)
| ``connectionLost`(self, reason)` Called when the connection is shut down.
Inherited from BaseProtocol
| ``connectionMade`(self)` Called when a connection is made.

Class Variable Summary
`tuple` | `_sful_data` = `(None, None, 0)`
Inherited from Protocol
`tuple` | `__implements__` = `(<class twisted.internet.interfaces.IPr...`
Inherited from BaseProtocol
`int` | `connected` = 0
`NoneType` | `transport` = None

Method Details

### 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.internet.protocol.Protocol.dataReceived` (inherited documentation)

### makeConnection(self, transport)

Make a connection to a transport and a server.

This sets the 'transport' attribute of this Protocol, and calls the connectionMade() callback.

  Overrides:
    `twisted.internet.protocol.BaseProtocol.makeConnection` (inherited documentation)

Class Variable Details

### _sful_data

  Type:
    `tuple`
  Value:

        (None, None, 0)

Generated by Epydoc 2.0 on Sat May 15 20:08:20 2004 | http://epydoc.sf.net