Go to the latest version of this document.

# ``twisted`.`protocols`.`basic`.`IntNStringReceiver``

class documentation

`class IntNStringReceiver(protocol.Protocol, _PauseableMixin): (source)`

Known subclasses: `twisted.protocols.basic.Int16StringReceiver`, `twisted.protocols.basic.Int32StringReceiver`, `twisted.protocols.basic.Int8StringReceiver`

View In Hierarchy

Generic class for length prefixed protocols.

Method | `dataReceived` | Convert int prefixed strings into calls to stringReceived.
Method | `lengthLimitExceeded` | Callback invoked when a length prefix greater than `MAX_LENGTH` is received. The default implementation disconnects the transport. Override this.
Method | `sendString` | Send a prefixed string to the other end of the connection.
Method | `stringReceived` | Override this for notification when each complete string is received.
Constant | `MAX_LENGTH` | Undocumented
Class Variable | `recvd` | Undocumented
Instance Variable | `prefixLength` | length of the prefix, in bytes. Define it in subclass, using `struct.calcsize(structFormat)`
Instance Variable | `structFormat` | format used for struct packing/unpacking. Define it in subclass.
Instance Variable | `_compatibilityOffset` | the offset within `_unprocessed` to the next message to be parsed. (used to generate the recvd attribute)
Instance Variable | `_unprocessed` | bytes received, but not yet broken up into messages / sent to stringReceived. _compatibilityOffset must be updated when this value is updated so that the `recvd` attribute can be generated correctly.

Inherited from `Protocol`:

Method | `connectionLost` | Called when the connection is shut down.
Method | `logPrefix` | Return a prefix matching the class name, to identify log messages related to this protocol instance.
Class Variable | `factory` | Undocumented

Inherited from `BaseProtocol` (via `Protocol`):

Method | `connectionMade` | Called when a connection is made.
Method | `makeConnection` | Make a connection to a transport and a server.
Instance Variable | `connected` | Undocumented
Instance Variable | `transport` | Undocumented

Inherited from `_PauseableMixin` (via `Protocol`, `BaseProtocol`):

Method | `pauseProducing` | Undocumented
Method | `resumeProducing` | Undocumented
Method | `stopProducing` | Undocumented
Instance Variable | `paused` | Undocumented

def dataReceived(self, data): (source)
from `twisted.internet.interfaces.IProtocol`
overrides `twisted.internet.protocol.Protocol.dataReceived`
overridden in `twisted.protocols.amp.BinaryBoxProtocol`

Convert int prefixed strings into calls to stringReceived.

def lengthLimitExceeded(self, length): (source)
overridden in `twisted.protocols.amp.BinaryBoxProtocol`

Callback invoked when a length prefix greater than `MAX_LENGTH` is received. The default implementation disconnects the transport. Override this.

Parameters
length:`int` | The length prefix which was received.

def sendString(self, string): (source)

Send a prefixed string to the other end of the connection.

Parameters
string:`bytes` | The string to send. The necessary framing (length prefix, etc) will be added.

def stringReceived(self, string): (source)

Override this for notification when each complete string is received.

Parameters
string:`bytes` | The complete string which was received with all framing (length prefix, etc) removed.

MAX_LENGTH: `int` = (source)
overridden in `twisted.protocols.amp.BinaryBoxProtocol`

Undocumented

Value

    99999

recvd = (source)
overridden in `twisted.protocols.amp.BinaryBoxProtocol`

Undocumented

prefixLength: `int` = (source)
overridden in `twisted.protocols.basic.Int16StringReceiver`, `twisted.protocols.basic.Int32StringReceiver`, `twisted.protocols.basic.Int8StringReceiver`

length of the prefix, in bytes. Define it in subclass, using `struct.calcsize(structFormat)`

structFormat: `str` = (source)
overridden in `twisted.protocols.basic.Int16StringReceiver`, `twisted.protocols.basic.Int32StringReceiver`, `twisted.protocols.basic.Int8StringReceiver`

format used for struct packing/unpacking. Define it in subclass.

_compatibilityOffset: `int` = (source)

the offset within `_unprocessed` to the next message to be parsed. (used to generate the recvd attribute)

_unprocessed: `bytes` = (source)

bytes received, but not yet broken up into messages / sent to stringReceived. _compatibilityOffset must be updated when this value is updated so that the `recvd` attribute can be generated correctly.