new JsonRpcClientFactory(options)
Parameters:
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object | Connection options for the factory class Properties
|
- Source:
Properties:
Name | Type | Description |
---|---|---|
protocol |
Object | Instance of JsonRpcClientProtocol to use for managing client connections |
pcolInstance |
class | The JsonRpcClientProtocol instance |
timeouts |
object | Key value pairs of request IDs to |
requestTimeout |
number | Same as |
remainingRetries |
number | Same as |
connectionTimeout |
number | Same as |
server |
object | Object of host and port |
Requires:
- module:events
Extends
- EventEmitter
Requires
- module:events
Members
-
<static> http :HttpClientFactory
-
HTTP client constructor
Type:
- Source:
-
<static> tcp :TcpClientFactory
-
TCP client constructor
Type:
- Source:
-
<static> ws :WsClientFactory
-
WebSocket client constructor
Type:
- Source:
Methods
-
batch(requests)
-
Calls
batch()
method on protocol instanceParameters:
Name Type Description requests
Array.<JSON> Valid JSON-RPC batch request array
- Source:
-
<abstract> buildProtocol()
-
Set the
pcolInstance
for the client factory- Source:
Example
this.pcolInstance = new JsonRpcClientProtocol()
-
cleanUp(ids)
-
Clears pending timeouts kept in
timeouts
property for the provided request IDs.Parameters:
Name Type Description ids
Array.<string> | Array.<number> Array of request IDs
- Source:
-
connect()
-
Calls
buildProtocol
method.Calls
connect()
on protocol instance- Source:
-
<abstract> end()
-
Calls
end()
on protocol instance- Source:
-
message(method, params [, id])
-
Calls
message()
on the protocol instanceParameters:
Name Type Argument Description method
string Name of the method to use in the request
params
Array | JSON Params to send
id
boolean <optional>
If true it will use instances
message_id
for the request id, if false will generate a notification request- Source:
Example
client.message("hello", ["world"]) // returns {"jsonrpc": "2.0", "method": "hello", "params": ["world"], "id": 1} client.message("hello", ["world"], false) // returns {"jsonrpc": "2.0", "method": "hello", "params": ["world"]}
-
notify(method, params)
-
Calls
notify()
method on protocol instancePromise will resolve if the request was sucessfully sent, and reject if there was an error sending the request.
Parameters:
Name Type Description method
string Name of the method to use in the notification
params
Array | JSON Params to send
- Source:
Returns:
Promise
Example
client.notify("hello", ["world"])
-
request()
-
Calls
request()
method on protocol instancePlans to deprecate this in future versions.
- Source:
-
send(method, params)
-
Calls
send()
method on protocol instancePromise will resolve when a response has been received for the request.
Promise will reject if the server responds with an error object, or if the response is not received within the set
requestTimeout
Parameters:
Name Type Description method
string Name of the method to use in the request
params
Array | JSON Params to send
- Source:
Returns:
Promise
Example
client.send("hello", {"foo": "bar"})
-
serverDisconnected(cb)
-
Listens for a
serverDisconnected
event, passing the callback functionParameters:
Name Type Description cb
function - Source:
-
<abstract> subscribe(method, cb)
-
Subscribe the function to the given event name
Parameters:
Name Type Description method
string Method name to subscribe to
cb
function Name of callback function to invoke on event
- Source:
-
<abstract> unsubscribe(method, cb)
-
Unsubscribe the function from the given event name
Parameters:
Name Type Description method
string Method to unsubscribe from
cb
function Name of function to remove
- Source:
-
<abstract> unsubscribeAll(method)
-
Unsubscribe all functions from given event name
Parameters:
Name Type Description method
string Method to unsubscribe all listeners from
- Source: