peerjs-rpc
v3.6.2
Published
RPC module for peerjs
Maintainers
Readme
peerjs-rpc

RPC module for WebRTC using peerjs.
Installation
npm install peerjs-rpcUsage
ping(nodeId, callback)
Calls callback with either true or false.
attr(nodeId, attrName, callback)
Calls callback with (err, result), where result is the attribute in the given scope on the remote node.
invoke(nodeId, functionName, arguments, callback)
Calls callback with (err, result), where result is the value returned by the callback given to the function in the given scope on the remote node. arguments can be one argument or an array with arguments.
Examples
Javascript
var RPC = require("peerjs-rpc");
var scope = {
'hi': function(name, callback) {
return callback("hi there " + name + "!");
},
'answer': 42
};
var rpc = new RPC('node-id', scope);
var rpc2 = new RPC('another-node', scope);
rpc.ping('another-node')
.then(function(answer) {
return console.log(answer);
});
// => true
rpc.invoke('another-node', 'hi', ['R2'])
.then(function(answer) {
return console.log(answer);
});
// => hi there R2!
rpc.attr('another-node', 'answer')
.then(function(answer) {
return console.log(answer);
});
// => 42Bailey.js
import peerjs-rpc as RPC
scope = {
hi: (name, callback) -> callback("hi there #{name}!")
answer: 42
}
rpc = new RPC('node-id', scope)
rpc2 = new RPC('another-node', scope) # running on another node
rpc.ping('another-node'.then((answer) -> console.log(answer))
# => true
rpc.invoke('another-node', 'hi', ['R2']).then((answer) -> console.log(answer))
# => hi there R2!
rpc.attr('another-node', 'answer').then((answer) -> console.log(answer))
# => 42MIT © Rolf Erik Lekang
