Go to the latest version of this document.
search in docstrings

Search bar offers the following options:

- Term presence. The below example searches for documents that must contain “foo”, might contain “bar” and must not contain “baz”: `+foo bar -baz`
- Wildcards. The below example searches for documents with words beginning with “foo”: `foo*`
- Search in specific fields. The following search matches all objects in "twisted.mail" that matches “search”: `+qname:twisted.mail.* +search`

  Possible fields: 'name', 'qname' (fully qualified name), 'docstring', and 'kind'. Last two fields are only applicable if "search in docstrings" is enabled.

- Fuzzy matches. The following search matches all documents that have a word within 1 edit distance of “foo”: `foo~1`

Results provided by Lunr.js

# ``twisted`.`protocols`.`amp`.`ProtocolSwitchCommand``

class documentation

`class ProtocolSwitchCommand(Command): (source)`

View In Hierarchy

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 | `makeResponse` | Serialize a mapping of arguments using this `Command`'s response schema.
Method | `__init__` | Create a ProtocolSwitchCommand.
Instance Variable | `protoToSwitchToFactory` | Undocumented
Method | `_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.

Inherited from `Command`:

Class Method | `makeArguments` | Serialize a mapping of arguments using this `Command`'s argument schema.
Class Method | `parseArguments` | Parse a mapping of serialized arguments using this `Command`'s argument schema.
Class Method | `parseResponse` | 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 | `commandType` | 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 | `fatalErrors` | 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 | `responseType` | 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 | `requiresAnswer` | 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

@classmethod
def makeResponse(cls, innerProto, proto): (source)
overrides `twisted.protocols.amp.Command.makeResponse`

Serialize a mapping of arguments using this `Command`'s response schema.

Parameters
innerProto | Undocumented
proto | an `AMP`.
objects | a dict with keys matching the names specified in self.response, having values of the types that the Argument objects in self.response can format.
Returns
an `AmpBox`.

def __init__(self, _protoToSwitchToFactory, **kw): (source)
overrides `twisted.protocols.amp.Command.__init__`

Create a ProtocolSwitchCommand.

Parameters
_protoToSwitchToFactory | a ProtocolFactory which will generate the Protocol to switch to.
**kw | Keyword arguments, encoded and handled normally as `Command` would.

protoToSwitchToFactory = (source)

Undocumented

def _doCommand(self, proto): (source)
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.