
json_rpc_client.pl -- JSON RPC clientThis module implements a JSON RPC compliant client. The three predicates require a stream pair (see stream_pair/2) that connects us to a JSON RPC server.
json_call(+Stream, +Goal, -Result, +Options) is detIf Stream is closed this library terminates the thread and related message queue.
json_notify(+Stream, +Goal, +Options) is det
json_batch(+Stream, +Notifications:list, +Calls:list, -Results:list, +Options) is deterror(Dict), where Dict holds the
code, message and optional data field. Note that error(Dict)
is not a valid JSON type and this is thus unambiguous. While the
JSON RPC standard allows the server to process the messages in any
order and allows for concurrent processing, all results are sent in
one message and this client ensures the elements of the Results list
are in the same order as the Calls list. If the Calls list is empty
this predicate does not wait for a reply.
json_full_duplex(+Stream, :Options) is detlibrary(jso_rpc_server) in the module derived from the Options
list.