- Auto-reconnect: if no packets for 5s, re-send HANDSHAKE_REQUEST instead
of SUBSCRIBE_UPDATE. Handles AC restarts and track/car changes without
restarting rusty-telemetry. Reduces handshake interval from 10s to 5s.
- Handle 408-byte handshake response packets in the streaming recv loop
(not just initial handshake). On re-handshake, parse metadata and send
SUBSCRIBE_UPDATE to resume streaming.
- GameInfo struct: captures car_name, track_name, driver_name from the
KSUDP handshake response. Shared via Arc<Mutex<Option<GameInfo>>>.
- parse_handshake_response(): extracts UTF-16LE strings, cleans null/trim.
- GET /api/game-info endpoint: exposes current game metadata.
- start_recording auto-fills game/track/car from GameInfo when not
specified by the user.
- create_session auto-fills car_name/track_name from GameInfo.
- Add track_name field to UseCaseSession.
- MissedTickBehavior::Delay on handshake interval to prevent bursts.