[Groonga-commit] droonga/fluent-plugin-droonga at 2819a79 [master] Split adapter to input adapter and output adapter

Back to archive index

Kouhei Sutou null+****@clear*****
Thu Dec 19 19:07:36 JST 2013


Kouhei Sutou	2013-12-19 19:07:36 +0900 (Thu, 19 Dec 2013)

  New Revision: 2819a79ce70ba72c1a5bf07cd651b826c67afb98
  https://github.com/droonga/fluent-plugin-droonga/commit/2819a79ce70ba72c1a5bf07cd651b826c67afb98

  Message:
    Split adapter to input adapter and output adapter

  Copied files:
    lib/droonga/input_adapter.rb
      (from lib/droonga/adapter.rb)
    lib/droonga/input_adapter_plugin.rb
      (from lib/droonga/adapter_plugin.rb)
  Modified files:
    lib/droonga/dispatcher.rb
    lib/droonga/plugin/adapter/groonga.rb
  Renamed files:
    lib/droonga/output_adapter.rb
      (from lib/droonga/adapter.rb)
    lib/droonga/output_adapter_plugin.rb
      (from lib/droonga/adapter_plugin.rb)

  Modified: lib/droonga/dispatcher.rb (+12 -8)
===================================================================
--- lib/droonga/dispatcher.rb    2013-12-19 18:33:13 +0900 (aa6afd2)
+++ lib/droonga/dispatcher.rb    2013-12-19 19:07:36 +0900 (24e42f9)
@@ -16,7 +16,8 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 require 'tsort'
-require "droonga/adapter"
+require "droonga/input_adapter"
+require "droonga/output_adapter"
 require "droonga/distributor"
 require "droonga/catalog"
 require "droonga/collector"
@@ -34,8 +35,10 @@ module Droonga
       @collectors = {}
       @current_id = 0
       @local = Regexp.new("^#{@name}")
-      @adapter = Adapter.new(self,
-                             :adapters => Droonga.catalog.option("plugins"))
+      @input_adapter =
+        InputAdapter.new(self, :plugins => Droonga.catalog.option("plugins"))
+      @output_adapter =
+        OutputAdapter.new(self, :plugins => Droonga.catalog.option("plugins"))
       @loop = EventLoop.new
       @forwarder = Forwarder.new(@loop)
       @distributor = Distributor.new(self, @options)
@@ -52,7 +55,8 @@ module Droonga
     def shutdown
       @forwarder.shutdown
       @distributor.shutdown
-      @adapter.shutdown
+      @input_adapter.shutdown
+      @output_adapter.shutdown
       @farm.shutdown
       @loop.stop
       @loop_thread.join
@@ -102,8 +106,8 @@ module Droonga
       else
         if command == "dispatcher"
           handle(body, arguments)
-        elsif****@adapt*****?(command)
-          @adapter.process(command, body, *arguments)
+        elsif @output_adapter.processable?(command)
+          @output_adapter.process(command, body, *arguments)
         end
       end
       add_route(route) if route
@@ -179,8 +183,8 @@ module Droonga
       loop do
         input_message = InputMessage.new(adapted_envelope)
         command = input_message.command
-        break unles****@adapt*****?(command)
-        @adapter.process(command, input_message)
+        break unless @input_adapter.processable?(command)
+        @input_adapter.process(command, input_message)
         new_command = input_message.command
         adapted_envelope = input_message.adapted_envelope
         break if command == new_command

  Copied: lib/droonga/input_adapter.rb (+5 -5) 83%
===================================================================
--- lib/droonga/adapter.rb    2013-12-19 18:33:13 +0900 (a48505e)
+++ lib/droonga/input_adapter.rb    2013-12-19 19:07:36 +0900 (0558b9f)
@@ -16,24 +16,24 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 require "droonga/pluggable"
-require "droonga/adapter_plugin"
+require "droonga/input_adapter_plugin"
 
 module Droonga
-  class Adapter
+  class InputAdapter
     include Pluggable
 
     def initialize(dispatcher, options={})
       @dispatcher = dispatcher
-      load_plugins(options[:adapters] || [])
+      load_plugins(options[:plugins] || [])
     end
 
     private
     def instantiate_plugin(name)
-      AdapterPlugin.repository.instantiate(name, @dispatcher)
+      InputAdapterPlugin.repository.instantiate(name, @dispatcher)
     end
 
     def log_tag
-      "adapter"
+      "input-adapter"
     end
   end
 end

  Copied: lib/droonga/input_adapter_plugin.rb (+1 -1) 97%
===================================================================
--- lib/droonga/adapter_plugin.rb    2013-12-19 18:33:13 +0900 (4b5e6c0)
+++ lib/droonga/input_adapter_plugin.rb    2013-12-19 19:07:36 +0900 (d221775)
@@ -18,7 +18,7 @@
 require "droonga/plugin"
 
 module Droonga
-  class AdapterPlugin < Plugin
+  class InputAdapterPlugin < Plugin
     extend PluginRegisterable
 
     def initialize(dispatcher)

  Renamed: lib/droonga/output_adapter.rb (+5 -5) 83%
===================================================================
--- lib/droonga/adapter.rb    2013-12-19 18:33:13 +0900 (a48505e)
+++ lib/droonga/output_adapter.rb    2013-12-19 19:07:36 +0900 (c3e1ad4)
@@ -16,24 +16,24 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
 require "droonga/pluggable"
-require "droonga/adapter_plugin"
+require "droonga/output_adapter_plugin"
 
 module Droonga
-  class Adapter
+  class OutputAdapter
     include Pluggable
 
     def initialize(dispatcher, options={})
       @dispatcher = dispatcher
-      load_plugins(options[:adapters] || [])
+      load_plugins(options[:plugins] || [])
     end
 
     private
     def instantiate_plugin(name)
-      AdapterPlugin.repository.instantiate(name, @dispatcher)
+      OutputAdapterPlugin.repository.instantiate(name, @dispatcher)
     end
 
     def log_tag
-      "adapter"
+      "output-adapter"
     end
   end
 end

  Renamed: lib/droonga/output_adapter_plugin.rb (+1 -5) 92%
===================================================================
--- lib/droonga/adapter_plugin.rb    2013-12-19 18:33:13 +0900 (4b5e6c0)
+++ lib/droonga/output_adapter_plugin.rb    2013-12-19 19:07:36 +0900 (da0db5c)
@@ -18,7 +18,7 @@
 require "droonga/plugin"
 
 module Droonga
-  class AdapterPlugin < Plugin
+  class OutputAdapterPlugin < Plugin
     extend PluginRegisterable
 
     def initialize(dispatcher)
@@ -26,10 +26,6 @@ module Droonga
       @dispatcher = dispatcher
     end
 
-    def add_route(route)
-      @dispatcher.add_route(route)
-    end
-
     def post(body, destination=nil)
       @dispatcher.post(body, destination)
     end

  Modified: lib/droonga/plugin/adapter/groonga.rb (+9 -4)
===================================================================
--- lib/droonga/plugin/adapter/groonga.rb    2013-12-19 18:33:13 +0900 (8ac7708)
+++ lib/droonga/plugin/adapter/groonga.rb    2013-12-19 19:07:36 +0900 (70bde87)
@@ -13,25 +13,30 @@
 # License along with this library; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-require "droonga/adapter_plugin"
+require "droonga/input_adapter_plugin"
+require "droonga/output_adapter_plugin"
 
 module Droonga
-  class GroongaAdapter < Droonga::AdapterPlugin
+  class GroongaInputAdapter < Droonga::InputAdapterPlugin
     repository.register("select", self)
 
     command :select
     def select(input_message)
-      command = Select.new
+      command = GroongaAdapter::Select.new
       select_request = input_message.body
       search_request = command.convert_request(select_request)
       input_message.add_route("select_response")
       input_message.command = "search"
       input_message.body = search_request
     end
+  end
+
+  class GroongaOutputAdapter < Droonga::OutputAdapterPlugin
+    repository.register("select", self)
 
     command :select_response
     def select_response(search_response)
-      command = Select.new
+      command = GroongaAdapter::Select.new
       emit(command.convert_response(search_response))
     end
   end
-------------- next part --------------
HTML����������������������������...
다운로드 



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