The PubSubState is used to expose and control the operation of a PubSub component. It is an enumeration of the possible states. The enumeration values are described in Table 1.
Table 1 – PubSubState Values
|Disabled_0||The PubSub component is configured but currently disabled.|
|Paused_1||The PubSub component is enabled but currently paused by a parent component. The parent component is either Disabled_0 or Paused_1.|
|Operational_2||The PubSub component is operational.|
|Error_3||The PubSub component is in an error state.|
Figure 19 depicts the PubSub components that have a PubSub state and their parent-child relationship. State changes of children are based on changes of the parent state. The root of the hierarchy is the PublishSubscribe component.
Figure 19 – PubSub Component State Dependencies
Figure 20 describes the formal state machine with the possible transitions.
Figure 20 – PubSubState State Machine
Table 2 formally defines the transitions of the state machine.
Table 2 – PubSubState State Machine
|Source State||Target State||Trigger Description|
|Disabled_0||Paused_1||The component was successfully enabled but the parent component is in the state Disabled_0 or Paused_1.|
|Disabled_0||Operational_2||The component was successfully enabled.|
|Paused_1||Disabled_0||The component was successfully disabled.|
|Paused_1||Operational_2||The state of the parent component changed to Operational_2.|
|Operational_2||Disabled_0||The component was successfully disabled.|
|Operational_2||Paused_1||The state of the parent component changed to Disabled_0 or Paused_1.|
|Operational_2||Error_3||There is a pending error situation for the related PubSub component.|
|Error_3||Disabled_0||The component was successfully disabled.|
|Error_3||Paused_1||The state of the parent component changed to Disabled_0 or Paused_1.|
|Error_3||Operational_2||The error situation was resolved for the related PubSub component.|