setupHooks((grapes) => { link = new Link({ grape: 'http://127.0.0.1:30001' }) link.start() peer = new PeerRPCClient(link, {}) peer.init() peerSrvBuf = new PeerRPCServer(link, { timeout: 300000 }) peerSrvBuf.init() serviceBuf = peerSrvBuf.transport('buffered') serviceBuf.listen(PORT) link.announce('rpc_buf', serviceBuf.port, {}, (err, res) => { if (err) throw Error('error in announce, setup') }) stop = () => { peer.stop() link.stop() serviceBuf.stop() } })
setupHooks((grapes) => { link = new Link({ grape: 'http://127.0.0.1:30001' }) link.start() peer = new PeerRPCClient(link, {}) peer.init() peerSrvStr = new PeerRPCServer(link, { timeout: 300000, disableBuffered: true }) peerSrvStr.init() serviceStr = peerSrvStr.transport('stream') serviceStr.listen(PORT) link.announce('rpc_manual', serviceStr.port, {}, (err, res) => { if (err) throw Error('error in announce, setup') }) stop = () => { peer.stop() link.stop() serviceStr.stop() } })
// make sure you start 2 grapes // grape --dp 20001 --aph 30001 --bn '127.0.0.1:20002' // grape --dp 20002 --aph 40001 --bn '127.0.0.1:20001' 'use strict' const Grenache = require('./../') const Link = require('grenache-nodejs-link') const PeerPub = Grenache.PeerPub const _ = require('lodash') const link = new Link({ grape: 'http://127.0.0.1:30001' }) link.start() const peer = new PeerPub(link, {}) peer.init() const service = peer.transport('server') service.listen(_.random(1000) + 1024) setInterval(function () { link.announce('pub_test', service.port, {}) }, 1000) setInterval(() => { service.pub('world') }, 100)