class ActionCable::Connection::FayeEventLoop
Public Instance Methods
post(task = nil, &block)
click to toggle source
# File lib/action_cable/connection/faye_event_loop.rb, line 17 def post(task = nil, &block) task ||= block ensure_reactor_running ::EM.next_tick(&task) end
timer(interval, &block)
click to toggle source
# File lib/action_cable/connection/faye_event_loop.rb, line 12 def timer(interval, &block) ensure_reactor_running EMTimer.new(::EM::PeriodicTimer.new(interval, &block)) end
Private Instance Methods
ensure_reactor_running()
click to toggle source
# File lib/action_cable/connection/faye_event_loop.rb, line 25 def ensure_reactor_running return if EventMachine.reactor_running? @@mutex.synchronize do Thread.new { EventMachine.run } unless EventMachine.reactor_running? Thread.pass until EventMachine.reactor_running? end end