RPC Client¶
RPCClient instances are high-level handlers for
making remote procedure calls to servers. Other than
RPCProxy objects, they are what most user
applications interact with.
Clients needs to be instantiated with a protocol and a transport to function. Proxies are syntactic sugar for using clients.
-
class
tinyrpc.client.RPCClient(protocol, transport) Bases:
objectClient for making RPC calls to connected servers.
- Parameters
protocol – An
RPCProtocolinstance.transport – A
ClientTransportinstance.
-
batch_call(calls) Experimental, use at your own peril.
-
call(method, args, kwargs, one_way=False) Calls the requested method and returns the result.
If an error occured, an
RPCErrorinstance is raised.- Parameters
method – Name of the method to call.
args – Arguments to pass to the method.
kwargs – Keyword arguments to pass to the method.
one_way – Whether or not a reply is desired.
-
call_all(requests) Calls the methods in the request in parallel.
When the
geventmodule is already loaded it is assumed to be correctly initialized, including monkey patching if necessary. In that case the RPC calls defined byrequestsis performed in parallel otherwise the methods are called sequentially.- Parameters
requests – A listof either
RPCCallorRPCCallToelements. When RPCCallTo is used each element defines a transport. Otherwise the default transport set when RPCClient is created is used.- Returns
A list with replies matching the order of the requests.
-
get_proxy(prefix='', one_way=False) Convenience method for creating a proxy.
- Parameters
prefix – Passed on to
RPCProxy.one_way – Passed on to
RPCProxy.
- Returns
RPCProxyinstance.
-
class
tinyrpc.client.RPCProxy(client, prefix='', one_way=False) Bases:
objectCreate a new remote proxy object.
Proxies allow calling of methods through a simpler interface. See the documentation for an example.
- Parameters
client – An
RPCClientinstance.prefix – Prefix to prepend to every method name.
one_way – Passed to every call of
call().
-
class
tinyrpc.client.RPCCall(method, args, kwargs) Bases:
tupleDefines the elements of a RPC call.
RPCCall is used with
call_all()to provide the list of requests to be processed. Each request contains the elements defined in this tuple.-
args Alias for field number 1
-
kwargs Alias for field number 2
-
method Alias for field number 0
-
-
class
tinyrpc.client.RPCCallTo(transport, method, args, kwargs) Bases:
tupleDefines the elements of a RPC call directed to multiple transports.
RPCCallTo is used with
call_all()to provide the list of requests to be processed.-
args Alias for field number 2
-
kwargs Alias for field number 3
-
method Alias for field number 1
-
transport Alias for field number 0
-