[Groonga-commit] droonga/droonga-engine at 1d909f6 [master] Add method to just reserve write

Back to archive index

YUKI Hiroshi null+****@clear*****
Fri Jun 27 15:05:00 JST 2014


YUKI Hiroshi	2014-06-27 15:05:00 +0900 (Fri, 27 Jun 2014)

  New Revision: 1d909f646180696ec52167631eb8d5e5aebde0d7
  https://github.com/droonga/droonga-engine/commit/1d909f646180696ec52167631eb8d5e5aebde0d7

  Message:
    Add method to just reserve write

  Modified files:
    lib/droonga/buffered_tcp_socket.rb
    lib/droonga/fluent_message_sender.rb

  Modified: lib/droonga/buffered_tcp_socket.rb (+6 -1)
===================================================================
--- lib/droonga/buffered_tcp_socket.rb    2014-06-27 15:01:32 +0900 (a2c43d5)
+++ lib/droonga/buffered_tcp_socket.rb    2014-06-27 15:05:00 +0900 (afb2859)
@@ -34,10 +34,15 @@ module Droonga
     end
 
     def write(data)
+      reserve_write(data)
+      schedule_write
+      data.bytesize
+    end
+
+    def reserve_write(data)
       chunk = Chunk.new(@data_directory, data, Time.now, 0)
       chunk.buffering
       @_write_buffer << chunk
-      schedule_write
       data.bytesize
     end
 

  Modified: lib/droonga/fluent_message_sender.rb (+8 -3)
===================================================================
--- lib/droonga/fluent_message_sender.rb    2014-06-27 15:01:32 +0900 (459ec4e)
+++ lib/droonga/fluent_message_sender.rb    2014-06-27 15:05:00 +0900 (0807e9e)
@@ -47,13 +47,18 @@ module Droonga
       logger.trace("shutdown: done")
     end
 
-    def send(tag, data)
+    def send(tag, data, options={})
       logger.trace("send: start")
       fluent_message = [tag, Time.now.to_i, data]
       packed_fluent_message = MessagePackPacker.pack(fluent_message)
       connect unless connected?
-      @socket.write(packed_fluent_message)
-      logger.trace("send: done")
+      if options[:reserve]
+        @socket.reserve_write(packed_fluent_message)
+        logger.trace("send: reserved")
+      else
+        @socket.write(packed_fluent_message)
+        logger.trace("send: done")
+      end
     end
 
     def resume
-------------- next part --------------
HTML����������������������������...
Download 



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