Skip to content

core/ConnectionStatusService

Classes

ConnectionStatusService

Defined in: core/ConnectionStatusService.ts:52

Centralized Connection Status Service

This service maintains the single source of truth for all connection states.

Methods

getInstance()
static getInstance(): ConnectionStatusService;

Defined in: core/ConnectionStatusService.ts:101

Get singleton instance

Returns

ConnectionStatusService

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

Defined in: core/ConnectionStatusService.ts:112

Subscribe to connection status changes Returns unsubscribe function

Parameters
listener

ConnectionStatusListener

Returns

() => void

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

Defined in: core/ConnectionStatusService.ts:136

Get current connection status (immutable copy)

Returns

Readonly\<ConnectionStatusData>

setWebSocketConnected()
setWebSocketConnected(connected): void;

Defined in: core/ConnectionStatusService.ts:147

Update WebSocket connection status

Parameters
connected

boolean

Returns

void

setWebSocketConnecting()
setWebSocketConnecting(): void;

Defined in: core/ConnectionStatusService.ts:174

Set WebSocket to connecting state

Returns

void

setWebSocketError()
setWebSocketError(): void;

Defined in: core/ConnectionStatusService.ts:183

Set WebSocket to error state

Returns

void

setBlueSkyConnected()
setBlueSkyConnected(connected): void;

Defined in: core/ConnectionStatusService.ts:198

Update BlueSky server connection status This should be called when nodeinfo is received or connection is explicitly lost

Parameters
connected

boolean

Returns

void

setBlueSkyConnecting()
setBlueSkyConnecting(): void;

Defined in: core/ConnectionStatusService.ts:227

Set BlueSky to connecting state

Returns

void

onNodeInfoReceived()
onNodeInfoReceived(): void;

Defined in: core/ConnectionStatusService.ts:259

Called when nodeinfo is received This is an indicator that we're connected to BlueSky server

Returns

void

onSimInfoReceived()
onSimInfoReceived(): void;

Defined in: core/ConnectionStatusService.ts:275

Called when simulation info (siminfo) is received This is a strong indicator that we're connected and receiving data

Returns

void

onAircraftDataReceived()
onAircraftDataReceived(): void;

Defined in: core/ConnectionStatusService.ts:284

Called when aircraft data (acdata) is received This is a strong indicator that we're connected and receiving data

Returns

void

onShapeDataReceived()
onShapeDataReceived(): void;

Defined in: core/ConnectionStatusService.ts:293

Called when shape data (poly/polyline) is received This is an indicator that we're connected to BlueSky server

Returns

void

setReceivingData()
setReceivingData(receiving): void;

Defined in: core/ConnectionStatusService.ts:362

Update data reception status Called when simulation data (siminfo, acdata) is received

Parameters
receiving

boolean

Returns

void

onDataReceived()
onDataReceived(): void;

Defined in: core/ConnectionStatusService.ts:379

Called when any simulation data is received

Returns

void

setServerIP()
setServerIP(ip): void;

Defined in: core/ConnectionStatusService.ts:394

Set server IP address

Parameters
ip

string

Returns

void

isFullyConnected()
isFullyConnected(): boolean;

Defined in: core/ConnectionStatusService.ts:409

Check if fully connected (WebSocket + BlueSky)

Returns

boolean

isWebSocketConnected()
isWebSocketConnected(): boolean;

Defined in: core/ConnectionStatusService.ts:416

Check if WebSocket is connected

Returns

boolean

isBlueSkyConnected()
isBlueSkyConnected(): boolean;

Defined in: core/ConnectionStatusService.ts:423

Check if BlueSky is connected

Returns

boolean

isReceivingData()
isReceivingData(): boolean;

Defined in: core/ConnectionStatusService.ts:430

Check if receiving data

Returns

boolean

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

Defined in: core/ConnectionStatusService.ts:437

Get connection quality metric (based on nodeinfo interval)

Returns

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

getStatusString()
getStatusString(): string;

Defined in: core/ConnectionStatusService.ts:454

Get human-readable connection status string

Returns

string

reset()
reset(): void;

Defined in: core/ConnectionStatusService.ts:477

Reset all connection states (but preserve server IP)

Returns

void

getDetailedStatus()
getDetailedStatus(): string;

Defined in: core/ConnectionStatusService.ts:506

Get detailed status for debugging

Returns

string

startInitialConnectionCheck()
startInitialConnectionCheck(onNotConnected): void;

Defined in: core/ConnectionStatusService.ts:546

Start initial connection check This checks if we're connected after a delay on first page load

Parameters
onNotConnected

() => void

Returns

void

isInitialLoad()
isInitialLoad(): boolean;

Defined in: core/ConnectionStatusService.ts:596

Check if initial load is complete

Returns

boolean

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

Defined in: core/ConnectionStatusService.ts:608

Register callback for BlueSky disconnection events Returns unsubscribe function

Parameters
callback

ConnectionEventCallback

Returns

() => void

Interfaces

ConnectionStatusData

Defined in: core/ConnectionStatusService.ts:23

Properties

webSocketConnected
webSocketConnected: boolean;

Defined in: core/ConnectionStatusService.ts:25

webSocketState
webSocketState: ConnectionState;

Defined in: core/ConnectionStatusService.ts:26

blueSkyConnected
blueSkyConnected: boolean;

Defined in: core/ConnectionStatusService.ts:29

blueSkyState
blueSkyState: ConnectionState;

Defined in: core/ConnectionStatusService.ts:30

receivingData
receivingData: boolean;

Defined in: core/ConnectionStatusService.ts:33

lastDataReceived
lastDataReceived: number | null;

Defined in: core/ConnectionStatusService.ts:34

lastNodeInfoReceived
lastNodeInfoReceived: number | null;

Defined in: core/ConnectionStatusService.ts:35

serverIP
serverIP: string;

Defined in: core/ConnectionStatusService.ts:38

nodeInfoInterval
nodeInfoInterval: number | null;

Defined in: core/ConnectionStatusService.ts:41

Type Aliases

ConnectionState

type ConnectionState = "disconnected" | "connecting" | "connected" | "error";

Defined in: core/ConnectionStatusService.ts:21

Variables

connectionStatus

const connectionStatus: ConnectionStatusService;

Defined in: core/ConnectionStatusService.ts:622