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