JSONRPC2 v1.0.2 JSONRPC2.Clients.TCP View Source
A client for JSON-RPC 2.0 using a line-based TCP transport.
Link to this section Summary
Functions
Call the given method
with params
using the client pool named name
with options
Asynchronously call the given method
with params
using the client pool named name
with
options
Send a notification with the given method
and params
using the client pool named name
Receive the response for a previous cast/3
which returned a request_id
Start a client pool named name
, connected to host
at port
Stop the client pool with name name
Link to this section Types
call_option() :: {:string_id, boolean} | {:timeout, pos_integer}
Link to this section Functions
call(atom, JSONRPC2.method, JSONRPC2.params, boolean | call_options) :: {:ok, any} | {:error, any}
Call the given method
with params
using the client pool named name
with options
.
You can provide the option string_id: true
for compatibility with pathological implementations,
to force the request ID to be a string.
You can also provide the option timeout: 5_000
to set the timeout to 5000ms, for instance.
For backwards compatibility reasons, you may also provide a boolean for the options
parameter,
which will set string_id
to the given boolean.
cast(atom, JSONRPC2.method, JSONRPC2.params, boolean | cast_options) :: {:ok, request_id} | {:error, :backlog_full}
Asynchronously call the given method
with params
using the client pool named name
with
options
.
Use receive_response/1
with the request_id
to get the response.
You can provide the option string_id: true
for compatibility with pathological implementations,
to force the request ID to be a string.
You can also provide the option timeout: 5_000
to set the timeout to 5000ms, for instance.
Additionally, you may provide the option pid: self()
in order to specify which process should
be sent the message which is returned by receive_response/1
.
For backwards compatibility reasons, you may also provide a boolean for the options
parameter,
which will set string_id
to the given boolean.
notify(atom, JSONRPC2.method, JSONRPC2.params) :: {:ok, request_id} | {:error, :backlog_full}
Send a notification with the given method
and params
using the client pool named name
.
This function returns a request_id
, but it should not be used with receive_response/1
.
receive_response(request_id) :: {:ok, any} | {:error, any}
Receive the response for a previous cast/3
which returned a request_id
.
Start a client pool named name
, connected to host
at port
.
You can optionally pass client_opts
, detailed
here, as well as pool_opts
, detailed
here.
stop(atom) :: :ok | {:error, :shackle_not_started | :pool_not_started}
Stop the client pool with name name
.