This module provide services similar to Remote Procedure Calls. A remote procedure call is a method to call a function on a remote node and collect the answer. It is used for collecting information on a remote node, or for running a function with some specific side effects on the remote node.
This is an enhanced subset of the operations provided by the
In order for an
An opaque type of call request identifiers. For more
information see
Evaluates
The call
The
The applied function called
Exception reason:
The applied function called
The process that applied the function received an
exit signal and terminated due to this signal. The
process terminated with exit reason
Exception reason:
A runtime error occurred which raised and error
exception while applying the function,
and the applied function did not catch the
exception. The error reason
The
If any one of these are true:
The connection to
The
The
The remote node
If the
You cannot make any assumptions about the
process that will perform the
Evaluates
You cannot make any assumptions about the
process that will perform the
Check if a message is a response to a
If
If the
Performs multiple
The
The
The call
my_multicall(Nodes, Module, Function, Args) -> ReqIds = lists:map(fun (Node) ->erpc:send_request(Node, Module, Function, Args) end, Nodes), lists:map(fun (ReqId) -> try {ok,erpc:receive_response(ReqId, infinity) } catch Class:Reason -> {Class, Reason} end end, ReqIds).
The
If an
Receive a response to a
The call
A call to the function
my_call(Node, Module, Function, Args, Timeout) -> RequestId =erpc:send_request(Node, Module, Function, Args) , erpc:receive_response(RequestId, Timeout).
If the
Send an asynchronous
Wait or poll for a response message to a
The call
If no response is received before
If the