class twisted.protocols.amp.AMP(BinaryBoxProtocol, BoxDispatcher, CommandLocator, SimpleStringLocator): (source)
Known subclasses: twisted.trial._dist.worker.LocalWorkerAMP, twisted.trial._dist.worker.WorkerProtocol
This protocol is an AMP connection. See the module docstring for protocol details.
Method | __init__ | Undocumented |
Method | locateResponder | Unify the implementations of CommandLocator and SimpleStringLocator to perform both kinds of dispatch, preferring CommandLocator . |
Method | __repr__ | A verbose string representation which gives us information about this AMP connection. |
Method | makeConnection | Emit a helpful log message when the connection is made. |
Method | connectionLost | Emit a helpful log message when the connection is lost. |
Instance Variable | transport | Undocumented |
Instance Variable | _ampInitialized | Undocumented |
Instance Variable | _transportPeer | Undocumented |
Instance Variable | _transportHost | Undocumented |
Inherited from BinaryBoxProtocol:
Instance Variable | boxReceiver | an IBoxReceiver provider, whose IBoxReceiver.ampBoxReceived method will be invoked for each AmpBox that is received. |
Instance Variable | hostCertificate | Undocumented |
Class Variable | noPeerCertificate | Undocumented |
Instance Variable | innerProtocol | Undocumented |
Instance Variable | innerProtocolClientFactory | Undocumented |
Instance Variable | recvd | Undocumented |
Method | sendBox | Send a amp.Box to my peer. |
Method | dataReceived | Either parse incoming data as AmpBox es or relay it to our nested protocol. |
Method | proto_init | String received in the 'init' state. |
Method | proto_key | String received in the 'key' state. If the key is empty, a complete box has been received. |
Instance Variable | MAX_LENGTH | Undocumented |
Method | proto_value | String received in the 'value' state. |
Method | lengthLimitExceeded | The key length limit was exceeded. Disconnect the transport and make sure a meaningful exception is reported. |
Property | peerCertificate | Undocumented |
Method | unhandledError | The buck stops here. This error was completely unhandled, time to terminate the connection. |
Instance Variable | _keyLengthLimitExceeded | A flag which is only true when the connection is being closed because a key length prefix which was longer than allowed by the protocol was received. |
Instance Variable | _justStartedTLS | Undocumented |
Instance Variable | _startingTLSBuffer | Undocumented |
Instance Variable | _locked | Undocumented |
Instance Variable | _currentKey | Undocumented |
Instance Variable | _currentBox | Undocumented |
Method | _switchTo | Switch this BinaryBoxProtocol's transport to a new protocol. You need to do this 'simultaneously' on both ends of a connection; the easiest way to do this is to use a subclass of ProtocolSwitchCommand. |
Class Variable | _MAX_KEY_LENGTH | Undocumented |
Class Variable | _MAX_VALUE_LENGTH | Undocumented |
Method | _lockForSwitch | No summary |
Method | _unlockFromSwitch | Unlock this locked binary protocol so that further boxes may be sent again. This is used after an attempt to switch protocols has failed for some reason. |
Method | _prepareTLS | Used by StartTLSCommand to put us into the state where we don't actually send things that get sent, instead we buffer them. see _sendBoxCommand . |
Method | _startTLS | Used by TLSBox to initiate the SSL handshake. |
Method | _defaultStartTLSResponder | The default TLS responder doesn't specify any certificate or anything. |
Inherited from StatefulStringProtocol (via BinaryBoxProtocol):
Instance Variable | state | Current state of the protocol. Defaults to 'init' . |
Method | stringReceived | Choose a protocol phase function and call it. |
Inherited from Int16StringReceiver (via BinaryBoxProtocol):
Class Variable | structFormat | Undocumented |
Class Variable | prefixLength | Undocumented |
Inherited from IntNStringReceiver (via BinaryBoxProtocol, Int16StringReceiver):
Method | stringReceived | Override this for notification when each complete string is received. |
Method | sendString | Send a prefixed string to the other end of the connection. |
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. |
Instance Variable | _compatibilityOffset | the offset within _unprocessed to the next message to be parsed. (used to generate the recvd attribute) |
Inherited from Protocol (via BinaryBoxProtocol, Int16StringReceiver, IntNStringReceiver):
Class Variable | factory | Undocumented |
Method | logPrefix | Return a prefix matching the class name, to identify log messages related to this protocol instance. |
Inherited from BaseProtocol (via BinaryBoxProtocol, Int16StringReceiver, IntNStringReceiver, Protocol):
Instance Variable | connected | Undocumented |
Method | connectionMade | Called when a connection is made. |
Inherited from _PauseableMixin (via BinaryBoxProtocol, Int16StringReceiver, IntNStringReceiver):
Instance Variable | paused | Undocumented |
Method | pauseProducing | Undocumented |
Method | resumeProducing | Undocumented |
Method | stopProducing | Undocumented |
Inherited from _DescriptorExchanger (via BinaryBoxProtocol):
Method | fileDescriptorReceived | Collect received file descriptors to be claimed later by Descriptor . |
Instance Variable | _descriptors | Temporary storage for all file descriptors received. Values in this dictionary are the file descriptors (as integers). Keys in this dictionary are ordinals giving the order in which each descriptor was received. The ordering information is used to allow Descriptor to determine which is the correct descriptor for any particular usage of that argument type. |
Instance Variable | _sendingDescriptorCounter | A no-argument callable which returns the ordinals, starting from 0. This is used to construct values for _sendFileDescriptor . |
Instance Variable | _receivingDescriptorCounter | A no-argument callable which returns the ordinals, starting from 0. This is used to construct values for fileDescriptorReceived . |
Instance Variable | _getDescriptor | Undocumented |
Method | _sendFileDescriptor | Assign and return the next ordinal to the given descriptor after sending the descriptor over this protocol's transport. |
Inherited from BoxDispatcher:
Instance Variable | locator | an object with a CommandLocator.locateResponder method that locates a responder function that takes a Box and returns a result (either a Box or a Deferred which fires one). |
Instance Variable | boxSender | an object which can send boxes, via the _sendBoxCommand method, such as an AMP instance. |
Method | startReceivingBoxes | The given boxSender is going to start calling boxReceived on this BoxDispatcher . |
Method | stopReceivingBoxes | No further boxes will be received here. Terminate all currently outstanding command deferreds with the given reason. |
Method | failAllOutgoing | Call the errback on all outstanding requests awaiting responses. |
Method | callRemoteString | This is a low-level API, designed only for optimizing simple messages for which the overhead of parsing is too great. |
Method | callRemote | This is the primary high-level API for sending messages via AMP. Invoke it with a command and appropriate arguments to send a message to this connection's peer. |
Method | unhandledError | This is a terminal callback called after application code has had a chance to quash any errors. |
Method | ampBoxReceived | An AmpBox was received, representing a command, or an answer to a previously issued command (either successful or erroneous). Respond to it according to its contents. |
Method | dispatchCommand | A box with a _command key was received. |
Instance Variable | _outstandingRequests | a dictionary mapping request IDs to Deferred s which were returned for those requests. |
Instance Variable | _failAllReason | Undocumented |
Class Variable | _counter | Undocumented |
Method | _nextTag | Generate protocol-local serial numbers for _ask keys. |
Method | _sendBoxCommand | Send a command across the wire with the given amp.Box . |
Method | _answerReceived | An AMP box was received that answered a command previously sent with callRemote . |
Method | _errorReceived | An AMP box was received that answered a command previously sent with callRemote , with an error. |
Method | _commandReceived | |
Method | _safeEmit | Emit a box, ignoring ProtocolSwitched and ConnectionLost errors which cannot be usefully handled. |
Inherited from CommandLocator:
Class | __metaclass__ | No summary |
Method | lookupFunction | Deprecated synonym for CommandLocator.locateResponder |
Method | _wrapWithSerialization | Wrap aCallable with its command's argument de-serialization and result serialization logic. |
Inherited from SimpleStringLocator:
Class Variable | baseDispatchPrefix | Undocumented |
Undocumented
Unify the implementations of CommandLocator
and SimpleStringLocator
to perform both kinds of dispatch, preferring CommandLocator
.
Parameters | name | Undocumented (type: bytes ) |
A verbose string representation which gives us information about this AMP connection.
Returns | Undocumented (type: str ) |
Emit a helpful log message when the connection is made.