Class: RoomSubscriptionManager
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