Method: H2::Client::TCPSocket#initialize
- Defined in:
- lib/h2/client/tcp_socket.rb
#initialize(addr, port, timeout = DEFAULT_TIMEOUT) ⇒ TCPSocket
ON_LINUX = !!(RUBY_PLATFORM =~ /linux/)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/h2/client/tcp_socket.rb', line 10 def initialize addr, port, timeout = DEFAULT_TIMEOUT # resolve name & pack addr family, addr = Socket.getaddrinfo(addr, port, nil, :STREAM, nil, AI_ALL).first.values_at(0,3) @_sockaddr = Socket.sockaddr_in port, addr super family, SOCK_STREAM # allow send before ack setsockopt IPPROTO_TCP, TCP_NODELAY, 1 # cork on linux # setsockopt IPPROTO_TCP, TCP_CORK, 1 if ON_LINUX handle_wait_writable(timeout){ _connect } if _connect == :wait_writable end |