[Groonga-commit] groonga/express-kotoumi [master] Use internal receiver instead of Socket.IO to receive messages from the backend

Back to archive index

YUKI Hiroshi null+****@clear*****
Mon Jan 28 13:38:55 JST 2013


YUKI Hiroshi	2013-01-28 13:38:55 +0900 (Mon, 28 Jan 2013)

  New Revision: f741aec00a8c1147c4c9d70784aef9d48e6d354b
  https://github.com/groonga/express-kotoumi/commit/f741aec00a8c1147c4c9d70784aef9d48e6d354b

  Log:
    Use internal receiver instead of Socket.IO to receive messages from the backend

  Modified files:
    lib/backend/connection.js
    test/backend-connection.test.js
    test/test-utils.js

  Modified: lib/backend/connection.js (+4 -16)
===================================================================
--- lib/backend/connection.js    2013-01-28 13:30:28 +0900 (2fe8bea)
+++ lib/backend/connection.js    2013-01-28 13:38:55 +0900 (7ac032f)
@@ -7,8 +7,8 @@
  */
 
 var EventEmitter = require('events').EventEmitter;
-var socketIo = require('socket.io');
 var fluent = require('fluent-logger');
+var Receiver = requre('./receiver').Receiver;
 
 var DEFAULT_FLUENT_TAG =
       Connection.DEFAULT_FLUENT_TAG =
@@ -58,24 +58,12 @@ Connection.prototype._initReceiver = function() {
 
   var receiver = this._params.receiver;
   if (!receiver) {
-    var server = this.receiveServer;
-    if (!server) {
-      server = require('http').createServer(function() {});
-      server.listen(this.receivePort);
-    }
-    receiver = socketIo.listen(server);
+    receiver = new Receiver(this.receivePort);
   }
 
   this._receiver = receiver;
-
-  this._receiver.sockets.on(
-    'connection',
-    (function(socket) {
-      socket.on((this._params.tag || DEFAULT_FLUENT_TAG)+ '.message',
-                this._handleMessage.bind(this));
-    }).bind(this)
-  );
-  this._receiver.set('log level', 1);
+  this._receiver.on((this._params.tag || DEFAULT_FLUENT_TAG)+ '.message',
+                    this._handleMessage.bind(this));
 };
 
 function isSuccess(code) {

  Modified: test/backend-connection.test.js (+1 -1)
===================================================================
--- test/backend-connection.test.js    2013-01-28 13:30:28 +0900 (78a2e91)
+++ test/backend-connection.test.js    2013-01-28 13:38:55 +0900 (233e888)
@@ -21,7 +21,7 @@ suite('Connection', function() {
       sender:     sender = utils.createMockedSender(),
       receiver:   receiver = utils.createMockedReceiver()
     });
-    receiver.triggerConnect('test');
+    receiver.assertInitialized();
   });
 
   teardown(function() {

  Modified: test/test-utils.js (+9 -16)
===================================================================
--- test/test-utils.js    2013-01-28 13:30:28 +0900 (2640899)
+++ test/test-utils.js    2013-01-28 13:38:55 +0900 (373feb6)
@@ -24,27 +24,20 @@ exports.createMockedSender = createMockedSender;
 
 function createMockedReceiver() {
   var mockedSockets;
-  var mockedReceiverInternal = nodemock;
-  var connactionCallbackController = {};
   var messageCallbackController = {};
   var receiver = {
     // mocking receiver
-    sockets:
-      (mockedSockets = nodemock.mock('on')
-         .takes('connection', function() {})
-         .ctrl(1, connactionCallbackController)),
-    'set': function(key, value) {},
-
-    // extra features as a mocked object
-    triggerConnect: function(tag) {
-      mockedSockets.assertThrows();
-      var mockedSocket = nodemock.mock('on')
-                           .takes(tag + '.message', function() {})
-                           .ctrl(1, messageCallbackController);
-      connactionCallbackController.trigger(mockedSocket);
-      mockedSocket.assertThrows();
+    on: (mockedSockets = nodemock.mock('on')
+        .takes(tag + '.message', function() {})
+        .ctrl(1, messageCallbackController),
+    assertInitialized: function() {
+      if (mockedSockets) {
+        mockedSockets.assertThrows();
+        mockedSockets = undefined;
+      }
     },
     emitMessage: function(message) { // simulate message from backend
+      this.assertInitialized();
       messageCallbackController.trigger(message);
     }
   };
-------------- next part --------------
HTML����������������������������...
다운로드 



More information about the Groonga-commit mailing list
Back to archive index