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