module Redis::Connection::SocketMixin
def _read_from_socket(nbytes)
def _read_from_socket(nbytes) begin read_nonblock(nbytes) rescue IO::WaitReadable if IO.select([self], nil, nil, @timeout) retry else raise Redis::TimeoutError end rescue IO::WaitWritable if IO.select(nil, [self], nil, @timeout) retry else raise Redis::TimeoutError end end rescue EOFError raise Errno::ECONNRESET end