method
    
    run
  
      Ruby on Rails latest stable (v7.1.3.2)
 - 
    0 notes - 
    Class: StreamEventLoop
    
  
  
- 1.0.0
 - 1.1.6
 - 1.2.6
 - 2.0.3
 - 2.1.0
 - 2.2.1
 - 2.3.8
 - 3.0.0
 - 3.0.9
 - 3.1.0
 - 3.2.1
 - 3.2.8
 - 3.2.13
 - 4.0.2
 - 4.1.8
 - 4.2.1
 - 4.2.7
 - 4.2.9
 - 5.0.0.1 (0)
 - 5.1.7 (0)
 - 5.2.3 (0)
 - 6.0.0 (0)
 - 6.1.3.1 (0)
 - 6.1.7.7 (0)
 - 7.0.0 (0)
 - 7.1.3.2 (0)
 - 7.1.3.4 (0)
 - What's this?
 
run()
  private
  
    Hide source    
    
      
  
# File actioncable/lib/action_cable/connection/stream_event_loop.rb, line 84 def run loop do if @stopping @nio.close break end until @todo.empty? @todo.pop(true).call end next unless monitors = @nio.select monitors.each do |monitor| io = monitor.io stream = monitor.value begin if monitor.writable? if stream.flush_write_buffer monitor.interests = :r end next unless monitor.readable? end incoming = io.read_nonblock(4096, exception: false) case incoming when :wait_readable next when nil stream.close else stream.receive incoming end rescue # We expect one of EOFError or Errno::ECONNRESET in # normal operation (when the client goes away). But if # anything else goes wrong, this is still the best way # to handle it. begin stream.close rescue @nio.deregister io @map.delete io end end end end end

  