/** * 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); };