1.2 KiB
1.2 KiB
MODIFIED Requirements
Requirement: Heartbeat is limited to liveness, RTT, and time sync
The shared session lifecycle SHALL treat heartbeat traffic as infrastructure input for liveness detection and round-trip-time measurement only. Clock-synchronization samples MUST be forwarded to a separate sync-strategy component rather than being owned by SessionManager, and heartbeat processing MUST NOT itself own login success, login failure, or reconnect policy decisions.
Scenario: Heartbeat updates liveness and RTT while forwarding clock samples
- WHEN a heartbeat response is received for an active session
- THEN the session manager updates last-seen or timeout bookkeeping and RTT data
- THEN any server-tick sample is forwarded to the clock-sync strategy without making heartbeat the owner of login state
Scenario: Missing heartbeat triggers timeout state
- WHEN the configured heartbeat timeout elapses without a required heartbeat or other liveness signal
- THEN the session lifecycle transitions the session into a timed-out state
- THEN reconnect handling is delegated to the lifecycle reconnect policy rather than hidden inside the heartbeat handler itself