[client] transport: stop after guest sessions end

Track unexpected loss of an admitted fallback independently from normal
stop and UUID revocation. Terminate once both primary and fallback
sessions have disappeared, regardless of notification order.

Make shutdown terminal so concurrent disconnect handling cannot replace
it with restart or running state.
This commit is contained in:
Geoffrey McRae
2026-08-12 12:13:48 +10:00
parent 2d96ec401c
commit 8fb3c4d9f6
7 changed files with 141 additions and 33 deletions

View File

@@ -32,6 +32,8 @@ typedef struct LG_TransportFallbackEventOps
{
/* The session is valid only for the duration of this callback. */
void (*connected)(void * opaque, const LG_TransportSession * session);
/* Called only when an admitted session is unexpectedly lost. */
void (*lost)(void * opaque);
void (*disconnected)(void * opaque);
void (*uuidMismatch)(void * opaque, const uint8_t primary[16],
const uint8_t fallback[16]);