         # File lib/pr_eventmachine.rb, line 568
    568:     def eventable_write
    569:       # coalesce the outbound array here, perhaps
    570:       @last_activity = Reactor.instance.current_loop_time
    571:       while data = @outbound_q.shift do
    572:         begin
    573:           data = data.to_s
    574:           w = if io.respond_to?(:write_nonblock)
    575:             io.write_nonblock data
    576:           else
    577:             io.syswrite data
    578:           end
    579:
    580:           if w < data.length
    581:             @outbound_q.unshift data[w..-1]
    582:             break
    583:           end
    584:         rescue Errno::EAGAIN
    585:           @outbound_q.unshift data
    586:         rescue EOFError, Errno::ECONNRESET, Errno::ECONNREFUSED
    587:           @close_scheduled = true
    588:           @outbound_q.clear
    589:         end
    590:       end
    591:
    592:     end