UNPKG

zmq-json-rpc-client

Version:

JSON-RPC 2.0 client implementation using a ZMQ socket as transport mechanism

23 lines (16 loc) 573 B
var zmq = require('zeromq'); var jsonRpcClientStream = require('json-rpc-client-stream'); var socketStream = require('./lib/socket-stream'); module.exports = function(endpoint, opts) { opts = opts || {}; var socket = zmq.socket('dealer'); var clientStream = jsonRpcClientStream(opts); var clientSocketStream = socketStream().attach(socket); if (opts.socketId) { socket.identity = opts.socketId; } socket.connect(endpoint); clientStream.pipe(clientSocketStream).pipe(clientStream); clientStream.rpc.socket = socket; return clientStream.rpc; };