class twisted.protocols.amp.AmpBox(dict): (source)
I am a packet in the AMP protocol, much like a regular bytes:bytes dictionary.
|Method||__init__||Initialize a new
|Method||copy||Return another AmpBox just like me.|
|Method||serialize||Convert me into a wire-encoded string.|
|Method||_sendTo||Serialize and send this box to an Amp instance. By the time it is being sent, several keys are required. I must have exactly ONE of:|
Initialize a new
In Python 3, keyword arguments MUST be Unicode/native strings whereas in Python 2 they could be either byte strings or Unicode strings.
However, all keys of an
AmpBox MUST be byte strings, or possible to transparently coerce into byte strings (i.e. Python 2).
In Python 3, therefore, native string keys are coerced to byte strings by encoding as ASCII. This can result in
UnicodeEncodeError being raised.
|Raises||UnicodeEncodeError||When a native string key cannot be coerced to an ASCII byte string (Python 3 only).|
Return another AmpBox just like me.
Convert me into a wire-encoded string.
Serialize and send this box to an Amp instance. By the time it is being sent, several keys are required. I must have exactly ONE of:
_ask _answer _error
If the '_ask' key is set, then the '_command' key must also be set.
|Parameters||proto||an AMP instance.|