Packages

  • package root
    Definition Classes
    root
  • package csw
    Definition Classes
    root
  • package command
    Definition Classes
    csw
  • package client

    This project defines the basic classes and traits for the Command Service.

    Command Service

    This project defines the basic classes and traits for the Command Service.

    Related projects are: - csw-messages:

    • This defines the types of command (Oneway/Submit etc.) and types of configurations (Setup/Observe/Wait etc.)
    • Complete usage of Messages is available at: https://tmtsoftware.github.io/csw/services/messages.html

    - framework:

    • This defines the Hcd and Assembly handlers, lifecycle manager and supervisor for components.
    • Framework allows component writer to override onValidation, onSubmit and onOneway handlers. (Note it allows overriding other handlers as well.)
    • On every command received by component, onValidation handler gets invoked where received command gets validated and validation response is returned.
    • Based on validation response and command type, onSubmit/onOneway hooks gets invoked where command gets processed.
    • Complete details of handling commands can be found here : https://tmtsoftware.github.io/csw/framework/handling-lifecycle.html#handling-commands

    Important classes in this project are:

    - csw.command.api.scaladsl.CommandService

    This class wraps the csw.location.api.models.AkkaLocation and provides helpers to send commands to component actor extracted from provided location. Normal component writers workflow would be to first resolve component using location service and then create CommandService instance using resolved location.

    Using this instance, you can Submit Command/Commands to other component or query for command result or subscribe for long running command result.

    When you have multiple commands targeted to multiple components then you can use ConfigDistributor. Using CommandDistributor utility you can send all these commands in one go and get aggregated response.

    Complete guide of usage of different API's provided by CommandService is available at: https://tmtsoftware.github.io/csw/command.html

    Definition Classes
    command
  • package models
    Definition Classes
    client
  • package framework
    Definition Classes
    models
  • Component
  • ComponentInfo
  • Components
  • ContainerLifecycleState
  • LifecycleStateChanged
  • LocationServiceUsage
  • LockingResponse
  • PubSub
  • SupervisorLifecycleState
  • ToComponentLifecycleMessage

package framework

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. case class Component extends Product with Serializable

    A class that represents a logical component with it's supervisor actor reference and it's meta information

  2. final case class ComponentInfo(prefix: Prefix, componentType: ComponentType, componentHandlerClassName: String, locationServiceUsage: LocationServiceUsage, connections: Set[Connection] = Set.empty, initializeTimeout: FiniteDuration = 10.seconds) extends Product with Serializable

    The information needed to create a component.

    The information needed to create a component. This class is created after de-serializing the config file for the component.

    prefix

    prefix for the component with subsystem and name

    componentType

    : the type of the component as defined by csw.location.api.models.ComponentType

    componentHandlerClassName

    : specifies the component to be created by name of the class of it's handlers

    locationServiceUsage

    : specifies component's usage of location service

    connections

    : set of connections that will be used by this component for interaction

    initializeTimeout

    : the timeout value used while initializing a component

  3. case class Components(components: Set[Component]) extends CommandSerializable with Product with Serializable

    Represents a collection of components created in a single container

    Represents a collection of components created in a single container

    components

    a set of components with its supervisor and componentInfo

  4. sealed trait ContainerLifecycleState extends CommandSerializable with EnumEntry

    Lifecycle state of a container actor

  5. case class LifecycleStateChanged(publisher: ActorRef[ComponentMessage], state: SupervisorLifecycleState) extends CommandSerializable with Product with Serializable

    LifecycleStateChanged represents a notification of state change in a component

    LifecycleStateChanged represents a notification of state change in a component

    publisher

    the reference of component's supervisor for which the state changed

    state

    the new state the component went into

  6. sealed abstract class LocationServiceUsage extends EnumEntry

    Describes what action to take for a component on its boot-up regarding its registration with location service.

    Describes what action to take for a component on its boot-up regarding its registration with location service. This information is read from the config file for the component and used by csw-framework while spawning it.

  7. sealed trait LockingResponse extends CommandSerializable

    LockingResponse represents valid responses when a component requests to lock some component

  8. sealed trait PubSub[T] extends AnyRef

    Represents the protocol or messages about publishing data and subscribing it

    Represents the protocol or messages about publishing data and subscribing it

    T

    represents the type of data that is published or subscribed

  9. sealed trait SupervisorLifecycleState extends CommandSerializable with EnumEntry

    Lifecycle state of a Supervisor actor

  10. sealed trait ToComponentLifecycleMessage extends EnumEntry

    Represents protocol or messages sent to underlying TLA component

Ungrouped