[Groonga-commit] droonga/droonga-engine at 0ce7d61 [master] Detect message tag

Back to archive index

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: 0ce7d61f4de72fe19db1fab6999fe838b9ca9cfa
  https://github.com/droonga/droonga-engine/commit/0ce7d61f4de72fe19db1fab6999fe838b9ca9cfa

  Message:
    Detect message tag

  Modified files:
    lib/droonga/engine_node.rb

  Modified: lib/droonga/engine_node.rb (+17 -8)
===================================================================
--- lib/droonga/engine_node.rb    2015-01-06 19:54:01 +0900 (7806d53)
+++ lib/droonga/engine_node.rb    2015-01-06 20:03:21 +0900 (2dbd6ea)
@@ -28,13 +28,10 @@ module Droonga
       @state = state
       @sender_role = sender_role
 
-      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
@@ -88,6 +85,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"]
@@ -120,13 +128,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����������������������������...
Download 



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