The valid state transitions specified for the DomainDownload Program are specified in Table A.1. Each of the transitions defines a start state and end state for the transition and is identified by a unique number. Five of the transitions are from the base ProgramStateMachineType and retain the transition identifier numbers specified for Programs. The additional transitions relate the base Program states with the subordinate states defined for the DomainDownload. These states have been assigned unique transition identifier numbers that distinguish them from the base Program transition identifiers. In cases where transitions occur between substates and the Program’s base states, two transitions are specified. One transition identifies the base state change and a second substate change. For example, ReadyToRunning and ToOpening occur at the same time.
Table A.1 also specifies the defined states, causes for the transitions, and the effects of each transition. Program Control Methods are used by the Client to “run” the DomainDownload. The Methods cause or trigger the specified transitions. The transition effects are the specified EventTypes which notify the Client of Program activity.
Table A.1 – DomainDownload states
No. |
Transition name |
Cause |
From State |
To State |
Effect |
2 |
ReadyToRunning |
Start Method |
Ready |
Running |
Report Transition 2 Event/Result |
3 |
RunningToHalted |
Halt Method/Error or Internal. |
Running |
Halted |
Report Transition 3 Event/Result |
5 |
RunningToSuspended |
Suspend Method |
Running |
Suspended |
Report Transition 5 Event/Result |
6 |
SuspendedToRunning |
Resume Method |
Suspended |
Running |
Report Transition 6 Event/Result |
7 |
SuspendedToHalted |
Halt Method |
Suspended |
Halted |
Report Transition 7 Event/Result |
10 |
OpeningToSending |
Internal |
Opening |
Sending |
Report Transition 10 Event/Result |
11 |
SendingToSending |
Internal |
Sending |
Sending |
Report Transition 11 Event/Result |
12 |
SendingToClosing |
Internal |
Sending |
Closing |
Report Transition 12 Event/Result |
13 |
SendingToAborted |
Halt Method/Error |
Opening |
Aborted |
Report Transition 13 Event/Result |
14 |
ClosingToCompleted |
Internal |
Closing |
Completed |
Report Transition 14 Event/Result |
15 |
SendingToSuspended |
Suspend Method |
Sending |
Suspended |
Report Transition 16 Event/Result |
16 |
SuspendedToSending |
Resume Method |
Suspended |
Sending |
Report Transition 17 Event/Result |
18 |
SuspendedToAborted |
Halt Method |
Suspended |
Aborted |
Report Transition 18 Event/Result |
17 |
ToOpening |
Internal |
Ready |
Opening |
Report Transition 19 Event/Result |