2.7.1 Connection Disconnected
A common failure scenario is an unexpected connection breakdown between the system and external entities. A disconnection can be caused by the network not being available, or by one of the communicating participants becoming unavailable. In the case where the network is not available, both participants remain active and expect the other party to continue the communication pattern specified by the protocol being executed at the time of the failure. Similarly, in the case where one of the participants is not available, the active participant expects the communication to proceed as specified by the protocol being executed.
Generally, a protocol detects a connection breakdown failure through either of the following methods:
By using a timer object that generates an event if the corresponding participant has not responded within a reasonable time span.
By being notified by the underlying protocol that the connection is disconnected.
When a connection-disconnected event is detected, it causes the protocol to initiate any recovery, which can include teardowns of all related communications and updating any necessary data structures to maintain the system state.
Details about how each protocol detects a connection disconnected event, and how it behaves under this scenario, are provided in the specifications of the member protocols.