mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-07-03 14:05:39 +02:00
f0de6b441e
Control KCP epoch must stay stable across both carrier reconnects and liveness resets to avoid breaking ping/pong routing. Previously: - SetReconnectCallback rotated control epoch (fix: preserve) - ResetPeer also rotated control epoch (fix: preserve) Both now snapshot the control epoch header before data epoch rotation and use restartControlKCPWithHeader() with the preserved epoch. This prevents control frames from using a mismatched epoch after liveness timeout or carrier reconnect, which broke routing and caused reconnect loops.