arti:get_client
— An RPC method to return the default client for a session.arti:get_client_status
— RPC method: Return the current ClientStatusInfo.arti:get_proxy_info
— RPC method: Get a list of all the currently running proxies.arti:get_rpc_proxy_info
— RPC method: Get a list of the currently running proxies that are integrated with the RPC system.arti:isolated_client
— RPC method: Return an owned ID for a new isolated client instance.arti:new_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.arti:x_echo
— 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.auth:authenticate
— 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.rpc:release
— RPC method to release a single strong reference.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.
tor_rpcbase::SingleIdResponse
arti:get_client_status
— RPC method: Return the current ClientStatusInfo.RPC method: Return the current ClientStatusInfo.
arti_client::rpc::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::rpc::proxyinfo::ProxyInfo
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::rpc::proxyinfo::ProxyInfo
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.
tor_rpcbase::SingleIdResponse
arti:new_stream_handle
— Method to create a stream handle.Method to create a stream handle.
tor_rpcbase::SingleIdResponse
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.)
tor_rpcbase::Nil
arti_client::rpc::ClientStatusInfo
arti:x_echo
— A simple temporary method to echo a reply.A simple temporary method to echo a reply.
arti_rpcserver::session::Echo
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.
tor_rpcbase::dispatch::description::RpcDispatchInformation
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.
arti_rpcserver::connection::auth::AuthenticateReply
auth:query
— Method to ask which authentication methods are supported.Method to ask which authentication methods are supported.
arti_rpcserver::connection::auth::SupportedAuth
rpc:release
— RPC method to release a single strong reference.RPC method to release a single strong reference.
tor_rpcbase::Nil
arti_client::client::TorClient
— An active client session on the Tor network.arti_rpcserver::connection::Connection
— An open connection from an RPC client.arti_rpcserver::session::RpcSession
— An authenticated RPC session: a capability through which most other RPC functionality is availablearti::rpc::session::ArtiRpcSession
— A top-level RPC session object.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 availableAn authenticated RPC session: a capability through which most other RPC functionality is available
This relates to Connection
as follows:
Connection
exists prior to authentication;
whereas an RpcSession
comes into being as a result of authentication.RpcSession
is principally owned by the Connection
's object table.RpcSession
for the Connection
.
But a client may authenticate more than once; each time produces a new RpcSession
.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
].