Interface TimerScheduler<T>
-
- All Known Implementing Classes:
TimerSchedulerImpl
public interface TimerScheduler<T>
Start a periodic timer that will sendmsg
to theself
actor at a fixedinterval
.Each timer has a key and if a new timer with same key is started the previous is cancelled and it's guaranteed that a message from the previous timer is not received, even though it might already be enqueued in the mailbox when the new timer is started.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
cancel(java.lang.Object key)
Cancel a timer with a givenkey
.void
cancelAll()
Cancel all timers.boolean
isTimerActive(java.lang.Object key)
Check if a timer with a givenkey
is active.void
startPeriodicTimer(java.lang.Object key, T msg, scala.concurrent.duration.FiniteDuration interval)
Start a periodic timer that will sendmsg
to theself
actor at a fixedinterval
.void
startSingleTimer(java.lang.Object key, T msg, scala.concurrent.duration.FiniteDuration delay)
Start a timer that will sendmsg
once to theself
actor after the givendelay
.
-
-
-
Method Detail
-
cancel
void cancel(java.lang.Object key)
Cancel a timer with a givenkey
. If canceling a timer that was already canceled, or key never was used to start a timer this operation will do nothing.It is guaranteed that a message from a canceled timer, including its previous incarnation for the same key, will not be received by the actor, even though the message might already be enqueued in the mailbox when cancel is called.
- Parameters:
key
- (undocumented)
-
cancelAll
void cancelAll()
Cancel all timers.
-
isTimerActive
boolean isTimerActive(java.lang.Object key)
Check if a timer with a givenkey
is active.- Parameters:
key
- (undocumented)- Returns:
- (undocumented)
-
startPeriodicTimer
void startPeriodicTimer(java.lang.Object key, T msg, scala.concurrent.duration.FiniteDuration interval)
Start a periodic timer that will sendmsg
to theself
actor at a fixedinterval
.Each timer has a key and if a new timer with same key is started the previous is cancelled and it's guaranteed that a message from the previous timer is not received, even though it might already be enqueued in the mailbox when the new timer is started.
- Parameters:
key
- (undocumented)msg
- (undocumented)interval
- (undocumented)
-
startSingleTimer
void startSingleTimer(java.lang.Object key, T msg, scala.concurrent.duration.FiniteDuration delay)
Start a timer that will sendmsg
once to theself
actor after the givendelay
.Each timer has a key and if a new timer with same key is started the previous is cancelled and it's guaranteed that a message from the previous timer is not received, even though it might already be enqueued in the mailbox when the new timer is started.
- Parameters:
key
- (undocumented)msg
- (undocumented)delay
- (undocumented)
-
-