Class: Async::IO::CompositeEndpoint
  
  
  
  Instance Attribute Summary
  
  Attributes inherited from Endpoint
  #options
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  Methods inherited from Endpoint
  #accept, #bound, composite, #connected, each, #hostname, #linger, #local_address, parse, #reuse_address, #reuse_port, socket, ssl, tcp, #timeout, try_convert, udp, unix, #with
  Constructor Details
  
    
  
  
    #initialize(endpoints, **options)  ⇒ CompositeEndpoint 
  
  
  
  
    
Returns a new instance of CompositeEndpoint.
   
 
  
  
    
      
11
12
13
14 
     | 
    
      # File 'lib/async/io/composite_endpoint.rb', line 11
def initialize(endpoints, **options)
	super(**options)
	@endpoints = endpoints
end 
     | 
  
 
  
 
  
    Instance Method Details
    
      
  
  
    #bind(&block)  ⇒ Object 
  
  
  
  
    
      
33
34
35 
     | 
    
      # File 'lib/async/io/composite_endpoint.rb', line 33
def bind(&block)
	@endpoints.map(&:bind)
end 
     | 
  
 
    
      
  
  
    #connect(&block)  ⇒ Object 
  
  
  
  
    
      
20
21
22
23
24
25
26
27
28
29
30
31 
     | 
    
      # File 'lib/async/io/composite_endpoint.rb', line 20
def connect(&block)
	error = nil
	
	@endpoints.each do |endpoint|
		begin
			return endpoint.connect(&block)
		rescue => error
		end
	end
	
	raise error
end 
     | 
  
 
    
      
  
  
    #each(&block)  ⇒ Object 
  
  
  
  
    
      
16
17
18 
     | 
    
      # File 'lib/async/io/composite_endpoint.rb', line 16
def each(&block)
	@endpoints.each(&block)
end 
     |