callosum-client-tcp

TCP client for Callosum: a self-balancing distributed services protocol

callosum-client-tcp

Stability: 1 - Experimental

TCP Client for Callosum: a self-balancing distributed services protocol.

var CallosumClient = require('callosum-client-tcp');
var callosumClient = new CallosumClient({MAX_SLOTS: 100});
 
callosumClient.on('error', function (error) {
    console.log(error);
});
 
// add a connection to the connection pool 
// client will either hang on to the connection or close it if it is not needed 
callosumClient.newConnection(slot, socket);
 
var socket = callosumClient.getConnection();
// socket is either a connection that is available or undefined 
 
callosumClient.returnConnection(socket);
// return a previously leased connection to the client pool 
 
npm test

TCP Client for Callosum: a self-balancing distributed services protocol. It servers as a connection pool.

Open available connections are maintained internally via two heap data structures. The min heap data structure is maintained in order to provide a connection from the pool with the lowest slot value. The max heap data structure is maintained in order to enable rapid checking and replacing of a connection with a high slot value if a new connection with a lower slot value becomes available.

Public API