[client] transport: manage persistent fallback sessions

This commit is contained in:
Geoffrey McRae
2026-08-11 16:16:19 +10:00
parent 5b12685e3c
commit 053d4e9d9b
8 changed files with 764 additions and 165 deletions

View File

@@ -36,6 +36,8 @@
typedef struct LG_Transport LG_Transport;
typedef struct LG_RendererInterop LG_RendererInterop;
typedef bool (*LG_TransportCancelledFn)(void * opaque);
typedef enum LG_TransportStatus
{
LG_TRANSPORT_OK,
@@ -320,6 +322,11 @@ typedef struct LG_TransportOps
LG_TransportStatus (*connect)(LG_Transport * transport,
LG_TransportSession * session);
/* Optional cancellable form used by transports which may wait while
* establishing a session. */
LG_TransportStatus (*connectCancellable)(LG_Transport * transport,
LG_TransportSession * session, LG_TransportCancelledFn cancelled,
void * opaque);
void (*disconnect)(LG_Transport * transport);
bool (*sessionValid)(LG_Transport * transport);
/* Queried after create. The returned operations remain valid until the