Package twisted :: Package protocols :: Module basic :: Class NetstringReceiver |
[show private | hide private]
[frames | no frames]

## Class NetstringReceiver

    BaseProtocol --+
                   |
            Protocol --+
                       |
                      NetstringReceiver

Known Subclasses:
  `SafeNetstringReceiver`

This uses djb's Netstrings protocol to break up the input into strings.

Each string makes a callback to stringReceived, with a single argument of that string.

Security features:

1. Messages are limited in size, useful if you don't want someone sending you a 500MB netstring (change MAX_LENGTH to the maximum length you wish to accept).
2. The connection is lost if an illegal message is received.

Method Summary
| ``connectionFailed`(self)` (Deprecated) (inherited from `Protocol`)
| ``connectionLost`(self, reason)` Called when the connection is shut down. (inherited from `Protocol`)
| ``dataReceived`(self, data)` Called whenever data is received.
| `doComma(self)`
| `doData(self)`
| `doLength(self)`
| `sendString(self, data)`
| ``stringReceived`(self, line)` Override this.

Class Variable Summary
`int` | `brokenPeer`
`int` | `MAX_LENGTH`

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)

### stringReceived(self, line) Override this.

Class Variable Details

    ### brokenPeer Type: `int` Value:
        0

    ### MAX_LENGTH Type: `int` Value:
        99999

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