# ``twisted`.`protocols`.`basic`.`StatefulStringProtocol``

class documentation

`class StatefulStringProtocol: (source)`

Known subclasses: `twisted.protocols.amp.BinaryBoxProtocol`

View In Hierarchy

A stateful string protocol.

This is a mixin for string protocols (`Int32StringReceiver`, `NetstringReceiver`) which translates `stringReceived` into a callback (prefixed with `'proto_'`) depending on state.

The state `'done'` is special; if a `proto_*` method returns it, the connection will be closed immediately.

Method | `stringReceived` | Choose a protocol phase function and call it.
Instance Variable | `state` | Current state of the protocol. Defaults to `'init'`.

def stringReceived(self, string): (source)

Choose a protocol phase function and call it.

Call back to the appropriate protocol phase; this begins with the function `proto_init` and moves on to `proto_*` depending on what each `proto_*` function returns. (For example, if `self.proto_init` returns 'foo', then `self.proto_foo` will be the next function called when a protocol message is received.

state: `str` = (source)
Current state of the protocol. Defaults to `'init'`.