infobip-rtc
Version:
Infobip RTC JavaScript SDK - Infobip WebRTC API Implementation
47 lines (46 loc) • 1.35 kB
TypeScript
/// <reference types="node" />
import Status from "./Status";
import { EventEmitter } from "events";
import { Logger } from "../log/Logger";
export interface InfobipGateway {
status: Status;
connect(isReconnect: boolean): void;
disconnect(): void;
send(message: any): void;
setLogger(logger: Logger): void;
}
export declare class InfobipGatewayImpl implements InfobipGateway {
private eventEmitter;
private logger;
private token;
status: Status;
private ws;
private readonly host;
private retry;
private heartbeat;
private heartbeatCheck;
private deviceInfo;
private portunusInstanceHash;
constructor(eventEmitter: EventEmitter, logger: Logger, token: string);
connect(isReconnect?: boolean): void;
disconnect(): void;
send(data: any): void;
setLogger(logger: Logger): void;
private encodeDeviceInfo;
private generatePortunusHost;
private generatePortunusUrl;
private logSendingMessage;
private onOpen;
private onMessage;
private sendHeartbeatResponse;
private logReceivedMessage;
private onClose;
private cleanup;
private onError;
private scheduleHeartbeat;
private scheduleHeartbeatCheck;
private initRetry;
private generateDeviceInfo;
private base64EncodeUrl;
private cancelHeartbeatCheck;
}