0.3.0 • Published 9 years ago

origami-crane v0.3.0

Weekly downloads
1
License
ISC
Repository
gitlab
Last release
9 years ago

Origami crane

Purpose

To multiplex socket into subsockets and thus optimize lower connection levels. Subsockets might want to connect to an specific namespace, and that namespace might require a secret challenge.

Requirements

  • name-registry: Keeps a list of namespaces allowed to connect to this instance. Also, signs namespace requests for incoming connections. If the signature matches a subsocket connection is allowed to continue.
  • initializer: delegate function that setups a subsocket after it was authenticated. It is expected to return a Promise.
  • socket: undelaying socket that uses .emit/.on/.off API as an EventEmitter.

Usage

listening incoming connections sockets

var Crane = require('origami-crane');

var initializer = function (socket, namespace, crane) {
  socket
  .on(
    'sum',
    function (n1, n2, callback) {
      callback(n1 + n2);
    }
  );

  return Promise.resolve();
};

var nameRegistry; // see https://gitlab.com/origami2/name-registry/blob/master/README.md

var crane = new Crane(
  nameRegistry,
  intializer,
  socket
);

connecting to the first crane:

var Crane = require('origami-crane');

var initializer = function (socket, namespace, crane) {
  // we won't accept incoming connections
  return Promise.reject();
};

var nameRegistry; // see https://gitlab.com/origami2/name-registry/blob/master/README.md

var crane = new Crane(
  nameRegistry,
  intializer,
  socket
);

crane.createSocket(
  'OtherSide', // namespace we want to connect to
  function (socket, namespace, crane) {
    return Promise.resolve(
      // this function will be called when the socket on both ends become ready
      function () {
      
      }
    );
  }
);
0.3.4

9 years ago

0.3.3

9 years ago

0.3.2

9 years ago

0.3.0

9 years ago

0.2.27

9 years ago

0.1.26

9 years ago

0.1.25

9 years ago

0.1.23

9 years ago

0.1.21

9 years ago

0.1.20

9 years ago

0.1.17

9 years ago

0.1.16

9 years ago

0.1.14

9 years ago

0.1.12

9 years ago

0.1.11

9 years ago

0.1.8

9 years ago

0.1.7

9 years ago

0.1.6

9 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.1

10 years ago