Home Reference Source

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.