Module: Async::IO::Wrap::TCPServer

Defined in:
lib/async/io/wrap/tcp.rb

Class Method Summary collapse

Class Method Details

.new(*args) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/async/io/wrap/tcp.rb', line 27

def self.new(*args)
	return ::TCPServer.new(*args) unless Task.current?
	
	case args.size
	when 2
		local_address = Async::IO::Address.tcp(*args)
	when 1
		local_address = Async::IO::Address.tcp("0.0.0.0", *args)
	else
		raise ArgumentError, "TCPServer.new([hostname], port)"
	end
	
	return Async::IO::Socket.bind(local_address)
end