3.1.5.2 State Machine Control State Transitions
The state machine for the S20 protocol has seven transitions between the four control states. The following table and diagram illustrate these seven transitions.
|
Control State Transition |
Description |
|---|---|
|
1 |
The session creator node sends an S20_CREATE packet, or a new node sends an S20_JOIN packet. |
|
2 |
A node receives an S20_CREATE packet from the creator node. |
|
3 |
A node receives an S20_RESPOND packet from another node. |
|
4 |
A node receives an S20_RESPOND packet from another node. |
|
5 |
The creator node sends an S20_END packet or receives an S20_COLLISION packet. This transition also occurs when a non-creator node sends an S20_LEAVE packet or receives either an S20_END packet, an S20_DELETE packet, or an S20_COLLISION packet. |
|
6 |
The creator node sends an S20_END packet or receives an S20_COLLISION packet. This transition also occurs when a non-creator node sends an S20_LEAVE packet or receives either an S20_END packet, an S20_DELETE packet, or an S20_COLLISION packet. |
|
7 |
A node sends an S20_LEAVE packet or receives either an S20_END packet, S20_DELETE packet, or an S20_COLLISION packet. |
The diagram in figure 5 illustrates the control flow of these seven transitions. Note that any requests sent out of order (for example, S20_JOIN while in the Share State) are ignored and discarded.

Figure 6: S20 protocol control state transitions