# File lib/dalli/socket.rb, line 107 def read_available value = '' while true begin value << read_nonblock(8196) rescue Errno::EAGAIN, Errno::EWOULDBLOCK break end end value end
# File lib/dalli/socket.rb, line 90 def readfull(count) value = '' begin while true value << read_nonblock(count - value.bytesize) break if value.bytesize == count end rescue Errno::EAGAIN, Errno::EWOULDBLOCK if IO.select([self], nil, nil, options[:socket_timeout]) retry else raise Timeout::Error, "IO timeout: #{options.inspect}" end end value end