Class: IOMultiplex::TCPListener

Inherits:
IOReactor show all
Defined in:
lib/iomultiplex/tcplistener.rb

Overview

A TCP listener

Constant Summary

Constants included from Mixins::IOReactor::Write

Mixins::IOReactor::Write::WRITE_BUFFER_MAX, Mixins::IOReactor::Write::WRITE_SIZE

Constants included from Mixins::IOReactor::Read

Mixins::IOReactor::Read::READ_BUFFER_MAX, Mixins::IOReactor::Read::READ_SIZE

Instance Attribute Summary

Attributes inherited from IOReactor

#id, #io, #mode, #peer

Attributes included from Mixins::Logger

#logger, #logger_context

Instance Method Summary collapse

Methods inherited from IOReactor

#addr, #attach, #close, #detach, #force_close, #peeraddr

Methods included from Mixins::IOReactor::Write

#handle_write, #write, #write_full?

Methods included from Mixins::IOReactor::Read

#discard, #handle_data, #handle_read, #pause, #read, #read_full?, #resume

Constructor Details

#initialize(address, port, id = nil, pool = nil, &block) ⇒ TCPListener

Returns a new instance of TCPListener.

Raises:

  • (RuntimeError)


22
23
24
25
26
27
28
29
# File 'lib/iomultiplex/tcplistener.rb', line 22

def initialize(address, port, id = nil, pool = nil, &block)
  raise RuntimeError, 'connection_accepted not implemented', nil \
    unless block_given? || respond_to?(:connection_accepted)
  super TCPServer.new(address, port), 'r', id
  @io.listen 1024
  @pool = pool
  @block = block
end