class Seahorse::Client::H2::Connection

def _nonblocking_connect(tcp, addr)

def _nonblocking_connect(tcp, addr)
  begin
    tcp.connect_nonblock(addr)
  rescue IO::WaitWritable
    unless IO.select(nil, [tcp], nil, @connection_timeout)
      tcp.close
      raise
    end
    begin
      tcp.connect_nonblock(addr)
    rescue Errno::EISCONN
      # tcp socket connected, continue
    end
  end
end