Intro

Transmission comes with an RPC server that follows an RPC protocol specification.

When it receives a request, the server performs the requested action and sends back a response.

RPC format

To illustrate the form of request and response messages, the following parts contain some pseudo-JSON schema.

Request

A request requires method be specified, arguments and tag are optional.

tag can be provided for matching requests and responses.

When the server responds, it includes the same tag that was provided in the request:

{
    "method": str
    "arguments": Dict[str, object]
    "tag": int
}

Response

Likewise, result is the only required part.

{
    "result": str ("success" on success otherwise an error message)
    "arguments": Dict[str, object]
    "tag": int
}