Methods

Method index

arti:get_client — An RPC method to return the default client for a session.

An RPC method to return the default client for a session.

arti:get_client_status — RPC method: Return the current ClientStatusInfo.

RPC method: Return the current ClientStatusInfo.

arti:get_proxy_info — RPC method: Get a list of all the currently running proxies.

RPC method: Get a list of all the currently running proxies.

This method should not be used when deciding which proxy an RPC application should connect to. Instead it should use arti:get_rpc_proxy_info.

arti:get_rpc_proxy_info — RPC method: Get a list of the currently running proxies that are integrated with the RPC system.

RPC method: Get a list of the currently running proxies that are integrated with the RPC system.

This method returns a list of proxies. The RPC application may be not be able to use all proxies from the list, and may prefer some proxies over other. When multiple proxies are equally preferred, the application SHOULD use whichever appears first in the list.

arti:isolated_client — RPC method: Return an owned ID for a new isolated client instance.

RPC method: Return an owned ID for a new isolated client instance.

arti:new_stream_handle — Method to create a stream handle.

Method to create a stream handle.

arti:watch_client_status — RPC method: Run forever, delivering an updated view of the ClientStatusInfo whenever it changes.

RPC method: Run forever, delivering an updated view of the ClientStatusInfo whenever it changes.

(This method can return updates that have no visible changes.)

arti:x_echo — A simple temporary method to echo a reply.

A simple temporary method to echo a reply.

arti:x_list_all_rpc_methods — An RPC method to return a description of methods recognized on a session.

An RPC method to return a description of methods recognized on a session.

Note that not every recognized method is necessarily invocable in practice depending on the session's access level, you might not be able to access any objects that the method might be invocable upon.

Methods starting with "x_" are extra-unstable. See [RpcDispatchInformation] for caveats about type names.

auth:authenticate — Method to implement basic authentication. Right now only "I connected to you so I must have permission!" is supported.

Method to implement basic authentication. Right now only "I connected to you so I must have permission!" is supported.

auth:query — Method to ask which authentication methods are supported.

Method to ask which authentication methods are supported.

rpc:release — RPC method to release a single strong reference.

RPC method to release a single strong reference.


Objects

Object index

arti_client::client::TorClient — An active client session on the Tor network.

An active client session on the Tor network.

While it's running, it will fetch directory information, build circuits, and make connections for you.

Cloning this object makes a new reference to the same underlying handles: it's usually better to clone the TorClient than it is to create a new one.

arti_rpcserver::connection::Connection — An open connection from an RPC client.

An open connection from an RPC client.

Tracks information that persists from one request to another.

The client might not have authenticated; access and permissions control is handled via the capability system. Specifically, the objects table in Inner hold capabilities that the client will use to do things, including an RpcSession.

arti_rpcserver::session::RpcSession — An authenticated RPC session: a capability through which most other RPC functionality is available

An authenticated RPC session: a capability through which most other RPC functionality is available

This relates to Connection as follows:

arti::rpc::session::ArtiRpcSession — A top-level RPC session object.

A top-level RPC session object.

This type wraps and delegates to [arti_rpcserver::RpcSession], and exposes additional functionality not available at the level of [arti_rpcserver].