remote-protocol

0.2.1 • Public • Published

view on npm Build Status Dependency Status codecov npm license

Remote-protocol

Enable peer to create session with other peer and executing actions remotely 💫.

To create a session you should supply an duplex stream with objectMode turn on. See the remote-instance module for a possible implementation.

All the communication between the peers handled by actions. An Action is simple class with a fetch and / or exec methods that the peers can use. The protocol has build-in support for requests and responses in order to fetch actions remotely.

Install

npm install remote-protocol

Usage

const { Session, Action } = require('remote-protocol');
 
class FooAction extends Action {
  fetch() {
    return Math.random();
  }
}
 
// create an object mode stream that's bind to itself as-if other peer send the object
const objectStream = new PassThrough({ objectMode: true });
 
// create a session
const session = new Session(objectStream);
 
session.request(
  new FooAction(),
  result => {
    // `result` is random number
  },
  error => {
    // handle request error
  },
);

API Reference

This module is a part of the remote-lib library.

Here is the relevant documentation for this module:




© 2017 Moshe Simantov

Licensed under the Apache License, Version 2.0.

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i remote-protocol

      Weekly Downloads

      1

      Version

      0.2.1

      License

      Apache-2.0

      Last publish

      Collaborators

      • moshe