[Groonga-commit] droonga/droonga-engine at 11da7ec [buffered-forward] Detect message tag

アーカイブの一覧に戻る

YUKI Hiroshi null+****@clear*****
Tue Jan 6 20:03:21 JST 2015


YUKI Hiroshi	2015-01-06 20:03:21 +0900 (Tue, 06 Jan 2015)

  New Revision: 11da7ec9102d7e026e120d1727ae91e7d85b12dc
  https://github.com/droonga/droonga-engine/commit/11da7ec9102d7e026e120d1727ae91e7d85b12dc

  Message:
    Detect message tag
    
    Conflicts:
    	lib/droonga/engine_node.rb

  Modified files:
    lib/droonga/engine_node.rb

  Modified: lib/droonga/engine_node.rb (+17 -11)
===================================================================
--- lib/droonga/engine_node.rb    2015-01-06 19:56:08 +0900 (060a124)
+++ lib/droonga/engine_node.rb    2015-01-06 20:03:21 +0900 (08ce90d)
@@ -30,17 +30,11 @@ module Droonga
       @sender_role = sender_role
 
       @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"
-      end
-      host = $1
-      port = $2
-      tag  = $3
-      @sender = FluentMessageSender.new(loop, host, port,
+      parsed_name = parse_node_name(@name)
+      @sender = FluentMessageSender.new(loop,
+                                        parsed_name[:host],
+                                        parsed_name[:port],
                                         :buffering => true)
       @sender.start
     end
@@ -102,6 +96,17 @@ module Droonga
     end
 
     private
+    def parse_node_name(name)
+      unless name =~ /\A(.*):(\d+)\/([^.]+)\z/
+        raise "name format: hostname:port/tag"
+      end
+      {
+        :host => $1,
+        :port => $2,
+        :tag  => $3,
+      }
+    end
+
     def role
       if @state
         @state["role"]
@@ -146,13 +151,14 @@ module Droonga
       command = destination["type"]
       receiver = destination["to"]
       arguments = destination["arguments"]
+      parsed_receiver = parse_node_name(receiver)
 
       override_message = {
         "type" => command,
       }
       override_message["arguments"] = arguments if arguments
       message = message.merge(override_message)
-      output_tag = "#{tag}.message"
+      output_tag = "#{parsed_receiver[:tag]}.message"
       log_info = "<#{receiver}>:<#{output_tag}>"
       logger.trace("forward: start: #{log_info}")
       @sender.send(output_tag, message)
-------------- next part --------------
HTML����������������������������...
ダウンロード 



More information about the Groonga-commit mailing list
アーカイブの一覧に戻る