Skip to main content

PresenceTracker

@rotorsoft/act-root


@rotorsoft/act-root / act-http/src/sse / PresenceTracker

Class: PresenceTracker

Defined in: libs/act-http/src/sse/presence.ts:23

Generic presence tracker โ€” ref-counted online status per stream per identity.

Supports multi-tab: each subscribe increments the ref count, each unsubscribe decrements it. An identity is considered online when ref count > 0.

Usageโ€‹

const presence = new PresenceTracker();

// On SSE connect:
presence.add(game_id, player_id);

// On SSE disconnect:
presence.remove(game_id, player_id);

// Query:
presence.get_online(game_id); // Set<string>

Constructorsโ€‹

Constructorโ€‹

new PresenceTracker(): PresenceTracker

Returnsโ€‹

PresenceTracker

Methodsโ€‹

add()โ€‹

add(streamId, identity_id): void

Defined in: libs/act-http/src/sse/presence.ts:27

Increment ref count for an identity on a stream.

Parametersโ€‹

streamIdโ€‹

string

identity_idโ€‹

string

Returnsโ€‹

void


get_online()โ€‹

get_online(streamId): Set<string>

Defined in: libs/act-http/src/sse/presence.ts:44

Get the set of online identity IDs for a stream.

Parametersโ€‹

streamIdโ€‹

string

Returnsโ€‹

Set<string>


is_online()โ€‹

is_online(streamId, identity_id): boolean

Defined in: libs/act-http/src/sse/presence.ts:50

Check if a specific identity is online for a stream.

Parametersโ€‹

streamIdโ€‹

string

identity_idโ€‹

string

Returnsโ€‹

boolean


remove()โ€‹

remove(streamId, identity_id): void

Defined in: libs/act-http/src/sse/presence.ts:34

Decrement ref count. Removes the identity when count reaches 0.

Parametersโ€‹

streamIdโ€‹

string

identity_idโ€‹

string

Returnsโ€‹

void