@100mslive/hms-video-store
Version:
@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow
32 lines (31 loc) • 1.27 kB
TypeScript
import { PeerManager } from './PeerManager';
import { TrackManager } from './TrackManager';
import { HMSUpdateListener } from '../../interfaces';
import { Store } from '../../sdk/store';
/**
* Handles:
* - Initial Peer List - get peer and track meta-data for peers who are already in the room when you join
* - Reconnect Peer List - Handle peer and track changes in the room missed out due to reconnection
*
* Cases to handle in reconnect peer list:
* - Add additional peers as peer join
* - Remove missing peers as peer leave
* - For existing peers:
* - Add new tracks as track add
* - Remove missing tracks as track remove
* - Track state change(enabled) as track update
*/
export declare class PeerListManager {
private store;
private peerManager;
private trackManager;
listener?: HMSUpdateListener | undefined;
private readonly TAG;
constructor(store: Store, peerManager: PeerManager, trackManager: TrackManager, listener?: HMSUpdateListener | undefined);
handleNotification(method: string, notification: any, isReconnecting: boolean): void;
private handleInitialPeerList;
private handleReconnectPeerList;
private handlePreviewRoomState;
private handleRepeatedPeerList;
private removePeerTrack;
}