Class TimerSchedulerImpl<T>

    • Constructor Detail

      • TimerSchedulerImpl

        public TimerSchedulerImpl​(ActorContext<T> ctx)
    • Method Detail

      • startPeriodicTimer

        public void startPeriodicTimer​(java.lang.Object key,
                                       T msg,
                                       scala.concurrent.duration.FiniteDuration interval)
        Description copied from interface: TimerScheduler
        Start a periodic timer that will send msg to the self actor at a fixed interval.

        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.

        Specified by:
        startPeriodicTimer in interface TimerScheduler<T>
        Parameters:
        key - (undocumented)
        msg - (undocumented)
        interval - (undocumented)
      • startPeriodicTimer

        public void startPeriodicTimer​(java.lang.Object key,
                                       T msg,
                                       java.time.Duration interval)
        Description copied from interface: TimerScheduler
        Start a periodic timer that will send msg to the self actor at a fixed interval.

        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.

        Specified by:
        startPeriodicTimer in interface TimerScheduler<T>
        Parameters:
        key - (undocumented)
        msg - (undocumented)
        interval - (undocumented)
      • startSingleTimer

        public void startSingleTimer​(java.lang.Object key,
                                     T msg,
                                     scala.concurrent.duration.FiniteDuration delay)
        Description copied from interface: TimerScheduler
        Start a timer that will send msg once to the self actor after the given delay.

        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.

        Specified by:
        startSingleTimer in interface TimerScheduler<T>
        Parameters:
        key - (undocumented)
        msg - (undocumented)
        delay - (undocumented)
      • startSingleTimer

        public void startSingleTimer​(java.lang.Object key,
                                     T msg,
                                     java.time.Duration delay)
        Description copied from interface: TimerScheduler
        * Start a timer that will send msg once to the self actor after the given delay.

        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.

        Specified by:
        startSingleTimer in interface TimerScheduler<T>
        Parameters:
        key - (undocumented)
        msg - (undocumented)
        delay - (undocumented)
      • cancel

        public void cancel​(java.lang.Object key)
        Description copied from interface: TimerScheduler
        Cancel a timer with a given key. 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.

        Specified by:
        cancel in interface TimerScheduler<T>
        Specified by:
        cancel in interface TimerScheduler<T>
        Parameters:
        key - (undocumented)