Trait/Object

miniraft.state

InitialisableTimer

Related Docs: object InitialisableTimer | package state

Permalink

trait InitialisableTimer extends RaftTimer

Timers are tricky, as they need to be given to a ClusterProtocol, but the cluster protocol needs to reference nodes, which the timers in turn need to have a reference to.

Because of this circular reference, we make an 'initializable' timer, which is a valid RaftTimer, but resets won't take affect until it has been initialized.

Linear Supertypes
RaftTimer, AutoCloseable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. InitialisableTimer
  2. RaftTimer
  3. AutoCloseable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def cancel(): Future[Boolean]

    Permalink

    Cancel's the current timeout

    Cancel's the current timeout

    returns

    true if the call had effect

    Definition Classes
    RaftTimer
  2. abstract def initialise(onTimeout: (RaftTimer) ⇒ Unit): Future[Boolean]

    Permalink

    onTimeout

    the callback to use for this timer

    returns

    true (eventually) if the timer had not yet been initialized, false otherwise

  3. abstract def reset(delay: Option[FiniteDuration] = None): Future[Boolean]

    Permalink

    resets the timeout

    resets the timeout

    The implementation should provide sensible default timeouts, but the caller can opt to provide a delay. For example, in the occasion of an endpoint failure or a user interaction, we may want to schedule at a sooner (or event immediate) time

    In the event of a timeout, the call-back can elect to schedule another timeout event at the given delay.

    delay

    the delay to use when set, otherwise None

    returns

    true if a scheduled timeout has been cancelled by invoking, false if either it couldn't be cancelled or a task wasn't scheduled in the first place

    Definition Classes
    RaftTimer
  4. abstract def status: Future[String]

    Permalink

    returns

    debug info regarding the time state

    Definition Classes
    RaftTimer

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def close(): Unit

    Permalink
    Definition Classes
    RaftTimer → AutoCloseable
  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  16. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  17. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from RaftTimer

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped