class HTTP::Timeout::PerOperation
def write(data)
def write(data) timeout = false loop do result = @socket.write_nonblock(data, :exception => false) return result unless result == :wait_writable raise TimeoutError, "Write timed out after #{@write_timeout} seconds" if timeout timeout = true unless @socket.to_io.wait_writable(@write_timeout) end end