privatedef run(): Unit = { val do_run = synchronized { if (running.isDefined) { running = None; true } elsefalse
} if (do_run) { try { event } catch { case exn: Throwable if !Exn.is_interrupt(exn) => log(Exn.message(exn)); throw exn }
}
}
def invoke(msg: String = ""): Unit = synchronized { if (msg.nonEmpty) log("Delay.invoke " + msg) val new_run =
running match { case Some(request) => if (first) falseelse { request.cancel(); true } case None => true
} if (new_run) {
running = Some(Event_Timer.request(Time.now() + delay)(run()))
}
}
def revoke(msg: String = ""): Unit = synchronized { if (msg.nonEmpty) log("Delay.revoke " + msg)
running match { case Some(request) => request.cancel(); running = None case None =>
}
}
def postpone(alt_delay: Time, msg: String = ""): Unit = synchronized { if (msg.nonEmpty) log("Delay.postpone " + msg)
running match { case Some(request) => val alt_time = Time.now() + alt_delay if (request.time < alt_time && request.cancel()) {
running = Some(Event_Timer.request(alt_time)(run()))
} case None =>
}
}
}
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.13Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.