role-based port management for upnode
Instead of connecting and listening on hosts and ports, you can .connect() and .listen() on service semvers.
var airport = require'airport';var air = airport'localhost' 9090;aircbn * 5listen'beep';
var airport = require'airport';var air = airport'localhost' 9090;var up = airconnect'beep';setIntervalupremotefives11console.log'fives(11) : ' + n;;;1000;
First start a seaport server:
$ seaport 9090seaport listening on :9090
then fire up the beep server:
$ node beep.js
and spin up the beep client:
$ node connect.jsfives(11) : 55fives(11) : 55fives(11) : 55fives(11) : 55
If you kill the beep server and bring it up again, the connection requests get queued and fire when the beep server comes back up, even though it got assigned a different port!
var airport = require('airport');var seaport = require('seaport');var ports = seaport.connect(...);
Return a new airport object
air from a seaport port allocation object
Create a new seaport
ports object from the arguments provided and use that as
a shorthand to return
Return a new upnode connection to a
service that fulfills
role with the optional upnode function
If no services for
role are availble right away the request will be queued
until a service for
role comes online.
When the connection drops and reconnection fails, seaport will be queried for a new host/port endpoint.
air.connect() works as a shortcut for
air().connect() just like in upnode.
Create a new upnode service given the dnode constructor function or object
for the given
If you specify a secret phrase in
opts.secret, that phrase will be put in the
seaport metadata for your service and clients that
.connect() will need to
authenticate with the secret phrase. This is performed automatically with
You can pass metadata directly through
With npm do:
npm install airport