created by @tralamazza

Well known stream based RPC solution.
It just works [tm].
// var dnode = require('dnode');
var dservice = require('dservice');
// var server = dnode({
var server = dservice('d1', {
transform: function (s, cb) {
cb(s.replace(/[aeiou]{2,}/, 'oo').toUpperCase());
}
});
// server.listen(5004);
server.start();
var dservice = require('dservice');
var service = dservice();
service.dnodeFor('d1', function (err, remote, d) {
remote.transform('beep', function (s) {
console.log('beep => ' + s);
d.end();
});
});
var dservice = require('dservice');
var server = dservice('d2', {
jsconf: function (cb) {
server.dnodeFor('d1', function (err, remote, d) {
remote.transform('rulez', cb);
});
}
});
server.rely('d1');
server.start();
var dns = require('dns');
function MyResolveStep(logger, pipeline) {
var self = this;
self.input_queue = 'my_input_queue';
self.execute = function (payload, done) {
dns.resolve(payload.data.address, function (err, addresses) {
done(err, addresses, err ? 'my_resolved_addr_q' : 'my_error_q');
});
};
return self;
}
module.exports = MyResolveStep;