module Redis::Connection::SocketMixin
def _read_from_socket(nbytes, buffer = nil)
def _read_from_socket(nbytes, buffer = nil) loop do case chunk = read_nonblock(nbytes, buffer, exception: false) when :wait_readable unless wait_readable(@timeout) raise Redis::TimeoutError end when :wait_writable unless wait_writable(@timeout) raise Redis::TimeoutError end when nil raise Errno::ECONNRESET when String return chunk end end end