Method: TCPSocket#initialize

Defined in:
tcpsocket.c

#new(remote_host, remote_port, local_host = nil, local_port = nil, connect_timeout: nil) ⇒ Object

Opens a TCP connection to remote_host on remote_port. If local_host and local_port are specified, then those parameters are used on the local end to establish the connection.

:connect_timeout

specify the timeout in seconds.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'tcpsocket.c', line 23

static VALUE
tcp_init(int argc, VALUE *argv, VALUE sock)
{
    VALUE remote_host, remote_serv;
    VALUE local_host, local_serv;
    VALUE opt;
    static ID keyword_ids[2];
    VALUE kwargs[2];
    VALUE resolv_timeout = Qnil;
    VALUE connect_timeout = Qnil;

    if (!keyword_ids[0]) {
  CONST_ID(keyword_ids[0], "resolv_timeout");
  CONST_ID(keyword_ids[1], "connect_timeout");
    }

    rb_scan_args(argc, argv, "22:", &remote_host, &remote_serv,
      &local_host, &local_serv, &opt);

    if (!NIL_P(opt)) {
  rb_get_kwargs(opt, keyword_ids, 0, 2, kwargs);
  if (kwargs[0] != Qundef) { resolv_timeout = kwargs[0]; }
  if (kwargs[1] != Qundef) { connect_timeout = kwargs[1]; }
    }

    return rsock_init_inetsock(sock, remote_host, remote_serv,
             local_host, local_serv, INET_CLIENT,
             resolv_timeout, connect_timeout);
}