Skip to content

core/ConnectionStatusService

Classes

ConnectionStatusService

Defined in: core/ConnectionStatusService.ts:39

Single source of truth for all connection states.

Methods

getInstance()
static getInstance(): ConnectionStatusService;

Defined in: core/ConnectionStatusService.ts:86

Get singleton instance

Returns

ConnectionStatusService

subscribe()
subscribe(listener): () => void;

Defined in: core/ConnectionStatusService.ts:97

Subscribe to connection status changes Returns unsubscribe function

Parameters
listener

ConnectionStatusListener

Returns

() => void

getStatus()
getStatus(): Readonly<ConnectionStatusData>;

Defined in: core/ConnectionStatusService.ts:118

Get current connection status (immutable copy)

Returns

Readonly\<ConnectionStatusData>

setWebSocketConnected()
setWebSocketConnected(connected): void;

Defined in: core/ConnectionStatusService.ts:129

Update WebSocket connection status

Parameters
connected

boolean

Returns

void

setBlueSkyConnected()
setBlueSkyConnected(connected): void;

Defined in: core/ConnectionStatusService.ts:160

Update BlueSky server connection status. Called when data is received, or when the connection is known to be down (explicit disconnect, server_disconnected, WebSocket drop).

Parameters
connected

boolean

Returns

void

expectDisconnect()
expectDisconnect(graceMs?): void;

Defined in: core/ConnectionStatusService.ts:203

A deliberate disconnect (QUIT, server_disconnected) is happening: data events already in flight would otherwise flip the status straight back to connected and re-arm the no-data timer, which then fires a spurious "connection may be lost" warning 5s after a clean disconnect. Ignore data for a short grace window; data still flowing after it (e.g. the disconnect request failed) reconnects as usual.

Parameters
graceMs?

number = 2000

Returns

void

isInDisconnectGrace()
isInDisconnectGrace(): boolean;

Defined in: core/ConnectionStatusService.ts:212

True while the deliberate-disconnect grace window is open. Lets data consumers (e.g. SocketManager) drop in-flight frames that would repaint the traffic the disconnect just cleared.

Returns

boolean

onNodeInfoReceived()
onNodeInfoReceived(): void;

Defined in: core/ConnectionStatusService.ts:245

Called when nodeinfo is received

Returns

void

onSimInfoReceived()
onSimInfoReceived(): void;

Defined in: core/ConnectionStatusService.ts:259

Called when simulation info (siminfo) is received

Returns

void

onAircraftDataReceived()
onAircraftDataReceived(): void;

Defined in: core/ConnectionStatusService.ts:267

Called when aircraft data (acdata) is received

Returns

void

onShapeDataReceived()
onShapeDataReceived(): void;

Defined in: core/ConnectionStatusService.ts:275

Called when shape data (poly/polyline) is received

Returns

void

setReceivingData()
setReceivingData(receiving): void;

Defined in: core/ConnectionStatusService.ts:344

Update data reception status

Parameters
receiving

boolean

Returns

void

setServerIP()
setServerIP(ip): void;

Defined in: core/ConnectionStatusService.ts:365

Set server IP address

Parameters
ip

string

Returns

void

isFullyConnected()
isFullyConnected(): boolean;

Defined in: core/ConnectionStatusService.ts:380

Check if fully connected (WebSocket + BlueSky)

Returns

boolean

isBlueSkyConnected()
isBlueSkyConnected(): boolean;

Defined in: core/ConnectionStatusService.ts:387

Check if BlueSky is connected

Returns

boolean

isReceivingData()
isReceivingData(): boolean;

Defined in: core/ConnectionStatusService.ts:394

Check if receiving data

Returns

boolean

getConnectionQuality()
getConnectionQuality(): "unknown" | "excellent" | "good" | "poor";

Defined in: core/ConnectionStatusService.ts:401

Get connection quality metric (based on nodeinfo interval)

Returns

"unknown" | "excellent" | "good" | "poor"

getStatusString()
getStatusString(): string;

Defined in: core/ConnectionStatusService.ts:418

Get human-readable connection status string

Returns

string

reset()
reset(): void;

Defined in: core/ConnectionStatusService.ts:435

Reset all connection states (but preserve server IP)

Returns

void

getDetailedStatus()
getDetailedStatus(): string;

Defined in: core/ConnectionStatusService.ts:460

Get detailed status for debugging (window.connectionStatus helper)

Returns

string

startInitialConnectionCheck()
startInitialConnectionCheck(onNotConnected): void;

Defined in: core/ConnectionStatusService.ts:493

On the first page load of a session, invoke onNotConnected if no BlueSky connection is established shortly after startup.

Parameters
onNotConnected

() => void

Returns

void

onBlueSkyDisconnect()
onBlueSkyDisconnect(callback): () => void;

Defined in: core/ConnectionStatusService.ts:545

Register callback for BlueSky disconnection events Returns unsubscribe function

Parameters
callback

ConnectionEventCallback

Returns

() => void

Interfaces

ConnectionStatusData

Defined in: core/ConnectionStatusService.ts:14

Properties

webSocketConnected
webSocketConnected: boolean;

Defined in: core/ConnectionStatusService.ts:16

blueSkyConnected
blueSkyConnected: boolean;

Defined in: core/ConnectionStatusService.ts:19

receivingData
receivingData: boolean;

Defined in: core/ConnectionStatusService.ts:22

lastDataReceived
lastDataReceived: number | null;

Defined in: core/ConnectionStatusService.ts:23

lastNodeInfoReceived
lastNodeInfoReceived: number | null;

Defined in: core/ConnectionStatusService.ts:24

serverIP
serverIP: string;

Defined in: core/ConnectionStatusService.ts:27

nodeInfoInterval
nodeInfoInterval: number | null;

Defined in: core/ConnectionStatusService.ts:30

Variables

connectionStatus

const connectionStatus: ConnectionStatusService;

Defined in: core/ConnectionStatusService.ts:556