class documentation
class ProtocolSwitchCommand(Command): (source)
Constructor: ProtocolSwitchCommand(_protoToSwitchToFactory, **kw)
Use this command to switch from something Amp-derived to a different protocol mid-connection. This can be useful to use amp as the connection-startup negotiation phase. Since TLS is a different layer entirely, you can use Amp to negotiate the security parameters of your connection, then switch to a different protocol, and the connection will remain secured.
Class Method | make |
Serialize a mapping of arguments using this Command 's response schema. |
Method | __init__ |
Create a ProtocolSwitchCommand. |
Instance Variable | proto |
Undocumented |
Method | _do |
When we emit a ProtocolSwitchCommand, lock the protocol, but don't actually switch to the new protocol unless an acknowledgement is received. If an error is received, switch back. |
Inherited from Command
:
Class Method | make |
Serialize a mapping of arguments using this Command 's argument schema. |
Class Method | parse |
Parse a mapping of serialized arguments using this Command 's argument schema. |
Class Method | parse |
Parse a mapping of serialized arguments using this Command 's response schema. |
Class Method | responder |
Declare a method to be a responder for a particular command. |
Class Variable | arguments |
A list of 2-tuples of (name, Argument-subclass-instance), specifying the names and values of the parameters which are required for this command. |
Class Variable | command |
Undocumented |
Class Variable | command |
The type of Box used to issue commands; useful only for protocol-modifying behavior like startTLS or protocol switching. Defaults to a plain vanilla Box . |
Class Variable | errors |
A mapping of subclasses of Exception to wire-protocol tags for errors represented as str s. Responders which raise keys from this dictionary will have the error translated to the corresponding tag on the wire... |
Class Variable | extra |
Undocumented |
Class Variable | fatal |
like 'errors', but errors in this list will always terminate the connection, despite being of a recognizable error type. |
Class Variable | response |
A list like arguments , but instead used for the return value. |
Class Variable | response |
The type of Box used to respond to this command; only useful for protocol-modifying behavior like startTLS or protocol switching. Defaults to a plain vanilla Box . |
Instance Variable | requires |
a boolean; defaults to True. Set it to False on your subclass if you want callRemote to return None. Note: this is a hint only to the client side of the protocol. The return-type of a command responder method must always be a dictionary adhering to the contract specified by ... |
Instance Variable | structured |
Undocumented |
overrides
twisted.protocols.amp.Command.__init__
Create a ProtocolSwitchCommand.
Parameters | |
_proto | a ProtocolFactory which will generate the Protocol to switch to. |
**kw | Keyword arguments, encoded and handled normally as Command would. |
overrides
twisted.protocols.amp.Command._doCommand
When we emit a ProtocolSwitchCommand, lock the protocol, but don't actually switch to the new protocol unless an acknowledgement is received. If an error is received, switch back.