UNPKG

@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

48 lines (47 loc) 2.13 kB
import { EventBus } from '../events/EventBus'; import { HMSAudioListener, HMSConnectionQualityListener, HMSUpdateListener } from '../interfaces'; import { HMSRemoteTrack } from '../media/tracks'; import { Store } from '../sdk/store'; import HMSTransport from '../transport'; export declare class NotificationManager { private store; private transport; private listener?; private audioListener?; private connectionQualityListener?; private readonly TAG; private trackManager; private peerManager; private peerListManager; private activeSpeakerManager; private connectionQualityManager; private broadcastManager; private policyChangeManager; private requestManager; private roomUpdateManager; private sessionMetadataManager; private pollsManager; private whiteboardManager; /** * room state can be sent before join in preview stage as well but that is outdated, based on * eventual consistency and doesn't have all data. If we get at least one consistent room update * from that point onwards we can rely on live server updates and ignore periodic room state messages */ private hasConsistentRoomStateArrived; constructor(store: Store, eventBus: EventBus, transport: HMSTransport, listener?: HMSUpdateListener | undefined, audioListener?: HMSAudioListener | undefined, connectionQualityListener?: HMSConnectionQualityListener | undefined); setListener(listener?: HMSUpdateListener): void; setAudioListener(audioListener?: HMSAudioListener): void; setConnectionQualityListener(qualityListener?: HMSConnectionQualityListener): void; handleNotification(message: { method: string; params: any; }, isReconnecting?: boolean): void; handleIsolatedMethods(method: string, notification: any): void; ignoreNotification: (method: string) => boolean; handleTrackAdd: (track: HMSRemoteTrack) => void; handleTrackRemove: (track: HMSRemoteTrack) => void; updateLocalPeer: ({ name, metadata }: { name?: string | undefined; metadata?: string | undefined; }) => void; }