45 lines
1.1 KiB
JavaScript
45 lines
1.1 KiB
JavaScript
|
|
||
|
/**
|
||
|
* Constructors.
|
||
|
*/
|
||
|
|
||
|
exports.PubEmitterSocket = require('./sockets/pub-emitter');
|
||
|
exports.SubEmitterSocket = require('./sockets/sub-emitter');
|
||
|
exports.PushSocket = require('./sockets/push');
|
||
|
exports.PullSocket = require('./sockets/pull');
|
||
|
exports.PubSocket = require('./sockets/pub');
|
||
|
exports.SubSocket = require('./sockets/sub');
|
||
|
exports.ReqSocket = require('./sockets/req');
|
||
|
exports.RepSocket = require('./sockets/rep');
|
||
|
exports.Socket = require('./sockets/sock');
|
||
|
|
||
|
/**
|
||
|
* Socket types.
|
||
|
*/
|
||
|
|
||
|
exports.types = {
|
||
|
'pub-emitter': exports.PubEmitterSocket,
|
||
|
'sub-emitter': exports.SubEmitterSocket,
|
||
|
'push': exports.PushSocket,
|
||
|
'pull': exports.PullSocket,
|
||
|
'pub': exports.PubSocket,
|
||
|
'sub': exports.SubSocket,
|
||
|
'req': exports.ReqSocket,
|
||
|
'rep': exports.RepSocket
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Return a new socket of the given `type`.
|
||
|
*
|
||
|
* @param {String} type
|
||
|
* @param {Object} options
|
||
|
* @return {Socket}
|
||
|
* @api public
|
||
|
*/
|
||
|
|
||
|
exports.socket = function(type, options){
|
||
|
var fn = exports.types[type];
|
||
|
if (!fn) throw new Error('invalid socket type "' + type + '"');
|
||
|
return new fn(options);
|
||
|
};
|