UNPKG

vani-meeting-client

Version:
108 lines (107 loc) 4.15 kB
import { Base } from '../base/Base'; export declare enum WebSocketBasicEvents { Config = "config", JoinRoom = "joinRoom", IsSetupDone = "setupDone", Ping = "ping", Pong = "pong", CloseRoomForceFully = "CloseRoomForceFully", AudioVideoPauseResume = "audioVideoPauseResume", OnStartMeetingCalled = "startMeetingCalled", OnAudioVideoPauseResume = "audioVideoPauseResume", OnAudioVideoStatusUpdated = "audioVideoStatusUpdated", OnAudioUnblockRequest = "audioUnblock", OnVideoUnblockRequest = "videoUnblock", OnAudioBlockRequest = "audioBlock", OnVideoBlockRequest = "videoBlock", UpdateParticipant = "updateParticipant", OnParticipantUpdated = "participantUpdated", OnNewJoinee = "newJoinee", OnUserOnFoundWhileReconnect = "onUserOnFoundWhileReconnect", OnRejoined = "OnRejoined", OnUserLeft = "userLeft", GetAllParticipant = "getParticipant", OnServerParticipants = "participants", GetMeetingStartTime = "getMeetingStartTime", OnMeetingStartTime = "meetingStartTime", GetOldMessages = "getOldMessages", OnOldMessages = "oldMessages", Message = "message", OnChat = "chat", SelfLeft = "selfLeft" } export declare enum SFUMessageType { SFUMessage = "sfuMessage", GetRouterRtpCapabilities = "routerRtpCapabilities", ReloadSFUCleanUpDone = "ReloadSFUCleanUpDone", ReloadSFU = "reloadSFU", OnRouterRtpCapabilities = "onRouterRtpCapabilities", OnTransportConnect = "transportConnect", OnCreateTransports = "createTransports", OnTransportConnectDone = "transportConnectDone", OnSendTransport = "onSendTransport", OnConsumeTransport = "onConsumeTransport", OnTransportProduceSyncRequest = "transportProduceSync", OnTransportDataProduceSyncRequest = "dataTransportProduceSync", OnReadyToConsume = "readyToConsume", OnStartRTMP = "startRtmp", OnProducerClosed = "producerClosed", OnPauseProducer = "pauseProducer", OnResumeProducer = "resumeProducer", OnNewProducer = "onNewProducer", ConsumeProductId = "consumeProductId", OnServerConsumer = "onServerConsumer", ResumeConsumer = "resumeConsumer", PauseConsumer = "pauseConsumer", OnProduceSyncDone = "produceSyncDone", OnSpeakerChanged = "onSpeakerChanged", OnRestartIceCandidate = "restartIceCandidate", OnTrackEnded = "onTrackEnded", UpdateSpatialConsumer = "updateSpatialConsumer", OnRestartIceCandidateResponse = "onRestartIceCandidate", OnTransportNotFound = "onTransportNotFound", OnCreateTransportsForcefully = "OnCreateTransportsForcefully", GetAllProducers = "getAllProducers", OnAllProducers = "onAllProducers", OnAudioVolumeChanged = "OnAudioVolumeChanged", OnConsumerNotFound = "OnConsumerNotFound", OnProducerNotFound = "OnProducerNotFound", OnConsumerScoreChange = "OnConsumerScoreChange", OnProducerScoreChange = "OnProducerScoreChange", OnConsumerLayerChange = "OnConsumerLayerChange" } export type WebSocketEvents = SFUMessageType | WebSocketBasicEvents; export interface WebSocketMessageBody { type?: WebSocketEvents; data?: any; } export declare class WebsocketHandler extends Base { private loadBalancerIpAddressForWebSocket?; private isEnded; private isWebSocketConnectionInProgress; private wss?; private connection; private isSetUpDone; private socketCheckTimeout?; private pingCheckTimeout?; private setUpTry; private pongData; private lastPingTimeStamp; protected onObjectCreated(): void; cleanup(): void; startSocketConnection(): Promise<void>; private connect; isWebScoketConnected(): boolean; sendSocketMessage(type: WebSocketEvents, data: any): void; reconnectOnInternetFailur(): void; private onWebSocketClosed; private tryToReconectSocket; private onSocketConnected; private socketSubscribeToTopic; private askIfSetupDone; private onMessage; onCloseTheRoomForcefully: (data: any) => Promise<void>; private onSetupDone; private checkIfPingIsRunning; private isVideoCallControllerMessageType; }