Class: Async::IO::TCPServer
- Inherits:
 - 
      TCPSocket
      
        
- Object
 - Wrapper
 - Generic
 - BasicSocket
 - IPSocket
 - TCPSocket
 - Async::IO::TCPServer
 
 
- Includes:
 - Server
 
- Defined in:
 - lib/async/io/tcp_socket.rb
 
Overview
Asynchronous TCP server wrappper.
Constant Summary
Constants inherited from Generic
Instance Attribute Summary
Attributes inherited from TCPSocket
Attributes inherited from Generic
Instance Method Summary collapse
- #accept(timeout: nil, task: Task.current) ⇒ Object (also: #accept_nonblock, #sysaccept)
 - 
  
    
      #initialize(*args)  ⇒ TCPServer 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of TCPServer.
 
Methods included from Server
Methods inherited from TCPSocket
Methods included from Peer
#connected?, #eof, #eof?, #protocol, #sync, #sync=, #type
Methods inherited from Generic
#<<, #connected?, #dup, #nonblock, #nonblock=, #nonblock?, #read, #readable?, #sysread, #syswrite, #wait, wrap, wrap_blocking_method, wraps, #write
Constructor Details
#initialize(*args) ⇒ TCPServer
Returns a new instance of TCPServer.
      70 71 72 73 74 75 76 77  | 
    
      # File 'lib/async/io/tcp_socket.rb', line 70 def initialize(*args) if args.first.is_a? ::TCPServer super(args.first) else # We assume this operation doesn't block (for long): super(::TCPServer.new(*args)) end end  | 
  
Instance Method Details
#accept(timeout: nil, task: Task.current) ⇒ Object Also known as: accept_nonblock, sysaccept
      79 80 81 82 83 84 85 86 87 88 89 90 91 92 93  | 
    
      # File 'lib/async/io/tcp_socket.rb', line 79 def accept(timeout: nil, task: Task.current) peer, address = async_send(:accept_nonblock, timeout: timeout) wrapper = TCPSocket.new(peer) wrapper.timeout = self.timeout return wrapper, address unless block_given? begin yield wrapper, address ensure wrapper.close end end  |