UNPKG

zmq-json-rpc-client

Version:

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

37 lines (25 loc) 683 B
var Duplex = require('stream').Duplex; module.exports = function() { var stream = new Duplex(); var messageListener = function(data) { stream.push(data); }; stream.socket = null; stream.attach = function(socket) { if (this.socket) { this.socket.removeListener('message', messageListener); } this.socket = socket; this.socket.addListener('message', messageListener); return this; }; stream._write = function(chunk, encoding, callback) { if (!this.socket) { return callback(new Error('No attached socket')); } this.socket.send(chunk); callback(); }; stream._read = function(size) {}; return stream; };