Skip to main content

Class: RoomSubscriptionManager

Gala Launchpad SDK 9.0.0-rc.5


Gala Launchpad SDK 9.0.0-rc.5 / index / RoomSubscriptionManager

Class: RoomSubscriptionManager

Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:64

Room Subscription Manager

Unified room-based subscription tracking with automatic cleanup and duplicate prevention. Used by StreamWebSocketService to track which rooms (token subscriptions, pools, etc.) are currently active.

Features:

  • Duplicate prevention (can't add same room twice)
  • O(1) subscription checks
  • Bulk retrieval of subscribed rooms
  • Automatic cleanup on unsubscribe

Example​

// Test case: Room tracking with subscription metadata
const manager = new RoomSubscriptionManager();

// Add room
manager.addRoom('token:anime');
console.assert(manager.isSubscribedTo('token:anime') === true);

// Prevent duplicates (no-op if already added)
manager.addRoom('token:anime'); // Silent duplicate prevention

// Get all subscribed rooms
const rooms = manager.getRooms();
console.assert(rooms.includes('token:anime'));

// Remove room
manager.removeRoom('token:anime');
console.assert(manager.isSubscribedTo('token:anime') === false);

// Clear all
manager.addRoom('room1');
manager.addRoom('room2');
manager.clear();
console.assert(manager.getRooms().length === 0);

Since​

6.6.0

Constructors​

Constructor​

new RoomSubscriptionManager(): RoomSubscriptionManager

Returns​

RoomSubscriptionManager

Accessors​

size​

Get Signature​

get size(): number

Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:106

Get count of subscribed rooms

Returns​

number

Number of currently subscribed rooms

Methods​

addRoom()​

addRoom(roomId): void

Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:73

Add a room to subscriptions

No-op if room already exists (duplicate prevention).

Parameters​

roomId​

string

Room identifier (e.g., 'token:anime', 'pool:GALA-USDC')

Returns​

void


clear()​

clear(): void

Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:100

Clear all room subscriptions

Typically called during disconnect or cleanup.

Returns​

void


getRooms()​

getRooms(): string[]

Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:87

Get all subscribed rooms

Returns​

string[]

Array of room identifiers currently subscribed to


isSubscribedTo()​

isSubscribedTo(roomId): boolean

Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:94

Check if subscribed to a room

Parameters​

roomId​

string

Room identifier to check

Returns​

boolean

True if currently subscribed to this room


removeRoom()​

removeRoom(roomId): void

Defined in: packages/launchpad-sdk/dist/utils/websocket-patterns.d.ts:81

Remove a room from subscriptions

No-op if room doesn't exist.

Parameters​

roomId​

string

Room identifier to remove

Returns​

void