t

com.digitalasset.canton.health

CompositeHealthElement

trait CompositeHealthElement[ID, HE <: HealthElement] extends HealthElement

Defines a HealthElement that merely aggregates the state of other (dependent) HealthElements. The dependencies need not be reported anywhere.

If you need to manage a state separately for this component, add a dedicated dependency on AtomicHealthElement.

ID

The identifier type for the dependent health elements.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CompositeHealthElement
  2. HealthElement
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract type State

    The type of health states exposed by this component

    The type of health states exposed by this component

    Definition Classes
    HealthElement

Abstract Value Members

  1. abstract def associatedOnShutdownRunner: OnShutdownRunner

    The com.digitalasset.canton.lifecycle.OnShutdownRunner associated with this object.

    The com.digitalasset.canton.lifecycle.OnShutdownRunner associated with this object.

    When this com.digitalasset.canton.lifecycle.OnShutdownRunner closes, the health state permanently becomes closingState and all listeners are notified about this.

    Attributes
    protected
    Definition Classes
    HealthElement
  2. abstract def closingState: State

    The state set when the associatedOnShutdownRunner closes

    The state set when the associatedOnShutdownRunner closes

    Attributes
    protected
    Definition Classes
    HealthElement
  3. abstract def combineDependentStates: State

    Fetch the current states from the relevant dependencies and combine them into the new state to report for this element.

    Fetch the current states from the relevant dependencies and combine them into the new state to report for this element.

    Attributes
    protected
  4. abstract def initialHealthState: State

    The initial state upon creation

    The initial state upon creation

    Attributes
    protected
    Definition Classes
    HealthElement
  5. abstract def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    HealthElement
  6. abstract def name: String

    Name of the health element.

    Name of the health element. Used for logging.

    Definition Classes
    HealthElement
  7. abstract def prettyState: Pretty[State]
    Attributes
    protected
    Definition Classes
    HealthElement

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def alterDependencies(remove: Set[ID], add: Map[ID, HE]): Unit

    First removes all dependencies in remove, then adds all those in add.

    First removes all dependencies in remove, then adds all those in add. If an ID appears in remove and add, then the ID is replaced. Refreshes the state if any of the dependencies was changed.

    Updates of dependencies are not atomic: If this method is called concurrently multiple times, the resulting dependencies may not correspond to a serializable execution.

    If an dependency triggers a concurrent state refresh, then the state refresh may see an inconsistent set of dependencies and therefore derive an inconsistent state. This however is only temporary as in this case another state refresh will be triggered at the end.

    Attributes
    protected
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def getDependencies: Map[ID, HE]
    Attributes
    protected
  11. final def getState: State

    Returns the current state

    Returns the current state

    Definition Classes
    HealthElement
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. def refreshFromDependencies()(implicit traceContext: TraceContext): Unit
    Attributes
    protected
  18. def refreshState(newState: Eval[State])(implicit traceContext: TraceContext): Unit

    Triggers a refresh of the component's state, using newState to determine the new state.

    Triggers a refresh of the component's state, using newState to determine the new state. May return before the newState has been evaluated and the listeners have been poked.

    Note that listeners need not be poked about every state change; it suffices that they are poked eventually after each state change. So if there are frequent updates to the state, possibly from concurrent calls, then the listeners may never see some intermediate states.

    Attributes
    protected
    Definition Classes
    HealthElement
  19. def registerOnHealthChange(listener: HealthListener): Boolean

    Registers a listener that gets poked upon each change of this element's health state.

    Registers a listener that gets poked upon each change of this element's health state.

    returns

    Whether the listener was not registered before

    Definition Classes
    HealthElement
  20. def removeDependency(id: ID): Unit
    Attributes
    protected
  21. def setDependency(id: ID, dependency: HE): Unit
    Attributes
    protected
  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. def unregisterOnHealthChange(listener: HealthListener): Boolean

    Unregisters a listener.

    Unregisters a listener.

    returns

    Whether the listener was registered before.

    Definition Classes
    HealthElement
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @Deprecated
    Deprecated

Inherited from HealthElement

Inherited from AnyRef

Inherited from Any

Ungrouped