Channel states

A channel can be in one of many states at any time. Some states also have substates. From a given state a channel can move into other states.

Figure 1 shows the hierarchy of all possible channel states and the substates that apply to each of the channel states.

Figure 2 shows the links between channel states. These links apply to all types of message channel and server-connection channels.
Figure 1. Channel states and substates

Figure 2. Flows between channel states


Current and active

A channel is current if it is in any state other than inactive. A current channel is active unless it is in RETRYING, STOPPED, or STARTING state. When a channel is active, it is consuming resource and a process or thread is running. The seven possible states of an active channel (INITIALIZING, BINDING, SWITCHING, REQUESTING, RUNNING, PAUSED, or STOPPING) are highlighted in Figure 2.

An active channel can also show a substate giving more detail of exactly what the channel is doing. The substates for each state are shown in Figure 1.