module EventMachine::Deferrable
def timeout seconds, *args
Setting the status at any time prior to a call to the expiration of the timeout
the Timeout expires (passing no arguments to the object's errbacks).
Setting a timeout on a Deferrable causes it to go into the failed state after
def timeout seconds, *args cancel_timeout me = self @deferred_timeout = EventMachine::Timer.new(seconds) {me.fail(*args)} self end