0.0.5 • Published 10 years ago

simpleremote v0.0.5

Weekly downloads
38
License
-
Repository
github
Last release
10 years ago

SimpleRemote

Simple Remote Object implementation. It wraps up a Javascript object to use it from other process.

Installation

Via npm on Node:

npm install simpleremote

Usage

Reference it from your program:

var simpleremote = require('simpleremote');

Declare and expose an object using a server:

var obj = {
    add: function(x,y) { 
        return x + y;
    }
};

var server = simpleremote.createRemoteServer(obj);
server.listen(port);

Consuming the remote object from a client:

var client = simpleremote.createRemoteClient();
client.on('remote', function (remote) { // receives an proxy object to remote object
    remote.add(1, 2, function (err, value) {
       console.log(value); // prints 3
    };
});
client.connect(port, host);

Declare and expose an object using a client:

var obj = {
    add: function(x,y) { 
        return x + y;
    }
};

var client = simpleremote.createRemoteClient(obj);
client.connect(port, host);

Consuming the remote object from a server:

var server = simpleremote.createRemoteServer();
server.on('remote', function (remote) { // receives an proxy object to remote object at client connection
    remote.add(1, 2, function (err, value) {
       console.log(value); // prints 3
    };
});
server.listen(port);

You can combine both methods.

If the remote method to invoke has a callback as last parameter, you must declare its name at exposing the object:

var obj = {
    addAsync: function(x,y, cb) { 
        // ...
        cb(null, x + y);
    }
};

var client = simpleremote.createRemoteClient(obj, ['addAsync']);
var obj = {
    addAsync: function(x,y, cb) { 
        // ...
        cb(null, x + y);
    }
};

var server = simpleremote.createRemoteServer(obj, ['addAsync']);

TBD: Registry support.

Development

git clone git://github.com/ajlopez/SimpleRemote.git
cd SimpleRemote
npm install
npm test

Versions

  • 0.0.1: Published
  • 0.0.2: Published. Refactored to use SimpleMessages 0.0.3
  • 0.0.3: Published. Adding support for call remote async methods (methods that accept a callback function as end argument). Updated README.md
  • 0.0.4: Published. Using SimpleMessages 0.0.5; updated engine range
  • 0.0.5: Published. Using SimpleMessages 0.0.6; silent error in server if error in client socket

Used by

  • SimpleQueue Simple in-memory Queue for Node.js. It can be used from remote clients.

Contribution

Feel free to file issues and submit pull requests � contributions are welcome.

If you submit a pull request, please be sure to add or update corresponding test cases, and ensure that npm test continues to pass.

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

11 years ago

0.0.1

11 years ago

0.0.2

11 years ago

0.0.1-alfa

12 years ago