Feature #8897 » test.diff
| test/socket/test_socket.rb | ||
|---|---|---|
|
assert_instance_of(Socket::Ifaddr, ifaddr)
|
||
|
}
|
||
|
end
|
||
|
def test_tcp_fastopen
|
||
|
port = random_port
|
||
|
serv = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM)
|
||
|
serv.setsockopt(Socket::SOL_TCP, Socket::TCP_FASTOPEN, 5)
|
||
|
addrinfo = Addrinfo.new(Socket.sockaddr_in(port, "localhost"))
|
||
|
serv.bind(addrinfo)
|
||
|
serv.listen(1)
|
||
|
th = Thread.new do
|
||
|
sock, = serv.accept
|
||
|
begin
|
||
|
assert_equal("foo", sock.read)
|
||
|
ensure
|
||
|
sock.close if sock && !sock.closed?
|
||
|
end
|
||
|
end
|
||
|
sock = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM)
|
||
|
len = sock.send("foo", Socket::MSG_FASTOPEN, Socket.sockaddr_in(port, "localhost"))
|
||
|
assert_equal(len, 3)
|
||
|
sock.close
|
||
|
assert(th.join(10))
|
||
|
ensure
|
||
|
th.kill if th
|
||
|
sock.close if sock && !sock.closed?
|
||
|
end if defined?(Socket::TCP_FASTOPEN) && defined?(Socket::MSG_FASTOPEN)
|
||
|
end if defined?(Socket)
|
||
- « Previous
- 1
- 2
- Next »