Module: Async::IO::Server

Included in:
SSLServer, Socket, TCPServer
Defined in:
lib/async/io/socket.rb

Instance Method Summary collapse

Instance Method Details

#accept_each(timeout: nil, task: Task.current) ⇒ Object



95
96
97
98
99
100
101
102
103
104
105
# File 'lib/async/io/socket.rb', line 95

def accept_each(timeout: nil, task: Task.current)
  task.annotate "accepting connections #{self.local_address.inspect}"
  
  callback = lambda do |io, address|
    yield io, address, task: task
  end
  
  while true
    self.accept(timeout: timeout, task: task, &callback)
  end
end