[Groonga-commit] droonga/droonga-engine at 8ede242 [buffered-forward] Forward buffered messages correctly

Back to archive index

YUKI Hiroshi null+****@clear*****
Tue Jan 6 19:44:44 JST 2015


YUKI Hiroshi	2015-01-06 19:44:44 +0900 (Tue, 06 Jan 2015)

  New Revision: 8ede24221c9503281503f358ad87c4629c44eaa5
  https://github.com/droonga/droonga-engine/commit/8ede24221c9503281503f358ad87c4629c44eaa5

  Message:
    Forward buffered messages correctly

  Modified files:
    lib/droonga/engine_node.rb
    lib/droonga/forward_buffer.rb

  Modified: lib/droonga/engine_node.rb (+4 -1)
===================================================================
--- lib/droonga/engine_node.rb    2015-01-06 19:28:44 +0900 (8446b0e)
+++ lib/droonga/engine_node.rb    2015-01-06 19:44:44 +0900 (5e52c91)
@@ -27,7 +27,10 @@ module Droonga
       @state = state
       @sender_role = sender_role
 
-      @buffer = ForwardBuffer.new(name, @forwarder)
+      @buffer = ForwardBuffer.new(name)
+      @buffer.on_forward = lambda do |message, destination|
+        output(message, destination)
+      end
 
       unless @name =~ /\A(.*):(\d+)\/([^.]+)\z/
         raise "name format: hostname:port/tag"

  Modified: lib/droonga/forward_buffer.rb (+10 -4)
===================================================================
--- lib/droonga/forward_buffer.rb    2015-01-06 19:28:44 +0900 (3c3f517)
+++ lib/droonga/forward_buffer.rb    2015-01-06 19:44:44 +0900 (7c9ec3d)
@@ -29,8 +29,10 @@ module Droonga
 
     SUFFIX = ".msgpack"
 
-    def initialize(node_name, forwarder)
-      @forwarder = forwarder
+    attr_writer :on_forward
+
+    def initialize(node_name)
+      @on_forward = nil
 
       @packer = MessagePack::Packer.new
       @unpacker = MessagePack::Unpacker.new
@@ -73,8 +75,8 @@ module Droonga
       @unpacker.feed(file_contents)
       buffered_message =****@unpac*****
       @unpacker.reset
-      @forwarder.forward(buffered_message["message"],
-                         buffered_message["destination"])
+      on_forward(buffered_message["message"],
+                 buffered_message["destination"])
       FileUtils.rm_f(buffered_message_path.to_s)
       logger.trace("forward: done (#{buffered_message_path})")
     end
@@ -83,6 +85,10 @@ module Droonga
       @data_directory + "#{time_stamp.iso8601(6)}#{SUFFIX}"
     end
 
+    def on_forward(message, destination)
+      @on_forward.call(message, destination) if @on_forward
+    end
+
     def log_tag
       "[#{Process.ppid}] forward-buffer"
     end
-------------- next part --------------
HTML����������������������������...
Descargar 



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