class LightIO::Library::TCPSocket
Public Class Methods
new(*args)
click to toggle source
# File lib/lightio/library/socket.rb, line 142 def initialize(*args) raise ArgumentError, "wrong number of arguments (given #{args.size}, expected 2..4)" if args.size < 2 || args.size > 4 host, port = args[0..1] local_host, local_port = args[2..3] addrinfo = Addrinfo.getaddrinfo(host, port, nil, :STREAM)[0] socket = ::Socket.send(:origin_new, addrinfo.afamily, Socket::SOCK_STREAM, 0) if local_host || local_port local_address = Socket.sockaddr_in(local_port, local_host) socket.bind(local_address) end remote_address = Socket.sockaddr_in(addrinfo.ip_port, addrinfo.ip_address) @obj = socket wait_nonblock(:connect_nonblock, remote_address) @obj lightio_initialize end
Private Instance Methods
connect_nonblock(*args)
click to toggle source
# File lib/lightio/library/socket.rb, line 160 def connect_nonblock(*args) @obj.connect_nonblock(*args) end