class EventMachine::Completion

def timeout(time, *args)

deferrable will be failed with the given arguments.
Schedule a time which if passes before we enter a completion state, this
def timeout(time, *args)
  cancel_timeout
  @timeout_timer = EM::Timer.new(time) do
    fail(*args) unless completed?
  end
end