YUKI Hiroshi
null+****@clear*****
Mon Jan 28 15:52:27 JST 2013
YUKI Hiroshi 2013-01-28 15:52:27 +0900 (Mon, 28 Jan 2013) New Revision: 5b58c961c3b6c53ad80235dae6d651550c1d6b5f https://github.com/groonga/express-kotoumi/commit/5b58c961c3b6c53ad80235dae6d651550c1d6b5f Log: Define generic MsgPackReceiver and re-define Receiver as a sub class of MsgPackReceiver Modified files: lib/backend/receiver.js Modified: lib/backend/receiver.js (+21 -8) =================================================================== --- lib/backend/receiver.js 2013-01-28 15:40:14 +0900 (6ab9744) +++ lib/backend/receiver.js 2013-01-28 15:52:27 +0900 (c5b2f81) @@ -2,27 +2,27 @@ var net = require('net'); var EventEmitter = require('events').EventEmitter; var msgpack = require('msgpack'); -function Receiver(port) { +function MsgPackReceiver(port) { this.port = port || undefined; this._init(); } -Receiver.prototype = new EventEmitter(); +MsgPackReceiver.prototype = new EventEmitter(); -Receiver.prototype._init = function() { +MsgPackReceiver.prototype._init = function() { this._server = net.createServer(this._onConnect.bind(this)); }; -Receiver.prototype._onConnect = function(socket) { +MsgPackReceiver.prototype._onConnect = function(socket) { var messageStream = new msgpack.Stream(socket); messageStream.on('msg', this._onMessageReceive.bind(this)); }; -Receiver.prototype._onMessageReceive = function(message) { - this.emit(message.tag, message.data); +MsgPackReceiver.prototype._onMessageReceive = function(data) { + this.emit('receive', data); }; -Receiver.prototype.listen = function(callback) { +MsgPackReceiver.prototype.listen = function(callback) { if (this.port) { this._server.listen(this.port, callback); } else { @@ -33,7 +33,7 @@ Receiver.prototype.listen = function(callback) { } }; -Receiver.prototype.close = function() { +MsgPackReceiver.prototype.close = function() { if (this._server) { this._server.close(); this._server = undefined; @@ -41,4 +41,17 @@ Receiver.prototype.close = function() { this.port = undefined; }; +exports.MsgPackReceiver = MsgPackReceiver; + + +function Receiver(port) { + MsgPackReceiver.apply(this, arguments); +} + +Receiver.prototype = Object.create(MsgPackReceiver.prototype); + +Receiver.prototype._onMessageReceive = function(message) { + this.emit(message.tag, message.data); +}; + exports.Receiver = Receiver; -------------- next part -------------- HTML����������������������������...下載