[Groonga-commit] droonga/droonga-client-ruby at 8b4351e [master] Support large response

Back to archive index

Kouhei Sutou null+****@clear*****
Fri Jan 31 18:59:29 JST 2014


Kouhei Sutou	2014-01-31 18:59:29 +0900 (Fri, 31 Jan 2014)

  New Revision: 8b4351e6b0ab85481142e84aa6486fc47fa72274
  https://github.com/droonga/droonga-client-ruby/commit/8b4351e6b0ab85481142e84aa6486fc47fa72274

  Message:
    Support large response

  Modified files:
    lib/droonga/client/connection/droonga_protocol.rb

  Modified: lib/droonga/client/connection/droonga_protocol.rb (+7 -3)
===================================================================
--- lib/droonga/client/connection/droonga_protocol.rb    2014-01-29 14:48:33 +0900 (d3318ef)
+++ lib/droonga/client/connection/droonga_protocol.rb    2014-01-31 18:59:29 +0900 (e9773b3)
@@ -254,9 +254,13 @@ module Droonga
               @read_ios << client
               @client_handlers[client] = lambda do
                 unpacker = MessagePack::Unpacker.new
-                data = client.read_nonblock(BUFFER_SIZE)
-                unpacker.feed_each(data) do |object|
-                  yield(object)
+                loop do
+                  readable, = IO.select([client], nil, nil, 0)
+                  break unless readable
+                  data = client.read_nonblock(BUFFER_SIZE)
+                  unpacker.feed_each(data) do |object|
+                    yield(object)
+                  end
                 end
                 client.close
                 @read_ios.delete(client)
-------------- next part --------------
HTML����������������������������...
Descargar 



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