sinch-rtc
Version:
RTC JavaScript/Web SDK
28 lines (27 loc) • 1.39 kB
TypeScript
import { Message } from "../mxp/Message";
import { Method } from "../mxp/models";
import { FsmState, TimerEvent } from "./fsm";
import { JsepMessage, SessionDescription } from "./jsep";
import { TerminationCause } from "./TerminationCause";
import { SessionState } from "./SessionState";
import { Session } from "./Session";
import { SinchError } from "../SinchError";
import { TransitionSource } from "./fsm/TransitionSource";
export declare abstract class SessionStateBase<T extends Session> extends FsmState {
protected readonly CallSetupTimeoutMs = 60000;
protected readonly CallProgressTimeoutMs = 10000;
protected readonly CallACKWindowTimeoutMs = 10000;
protected readonly session: Session;
protected get Session(): T;
constructor(state: SessionState, session: Session);
onTimeout(_: TimerEvent): void;
terminateBasedOnMessage(message: Message, defaultCause: TerminationCause): void;
protected onExit(_: TransitionSource): void;
protected timeoutRelativeToStart(t: number): number;
protected sendJoined(join: Message): void;
protected sendError(error: SinchError | undefined): void;
protected sendOutboundMessage(m: Message): void;
protected hasSentOutboundMessage(method: Method): boolean;
protected onLocalSessionDescription(sd: SessionDescription): void;
protected onLocalCandidate(candidates: JsepMessage[]): void;
}