method
flush_write_buffer
v5.2.3 -
Show latest stable
- Class:
ActionCable::Connection::Stream
flush_write_buffer()public
No documentation available.
# File actioncable/lib/action_cable/connection/stream.rb, line 72
def flush_write_buffer
@write_lock.synchronize do
loop do
if @write_head.nil?
return true if @write_buffer.empty?
@write_head = @write_buffer.pop
end
written = @rack_hijack_io.write_nonblock(@write_head, exception: false)
case written
when :wait_writable
return false
when @write_head.bytesize
@write_head = nil
else
@write_head = @write_head.byteslice(written, @write_head.bytesize)
return false
end
end
end
end