sinch-rtc
Version:
RTC JavaScript/Web SDK
36 lines (35 loc) • 1.74 kB
TypeScript
import { SessionDescription, Source, JsepMessage } from "../jsep";
import { TerminationCause } from "../TerminationCause";
import { SessionState } from "../SessionState";
import { FsmTransition, TimerEvent } from ".";
import { Message } from "../../mxp";
import { TransitionSource } from "./TransitionSource";
export declare abstract class FsmState {
private fsmSessionState;
private transitions?;
protected callTerminationCause: TerminationCause;
constructor(fsmSessionState: SessionState, transitions?: FsmTransition | undefined);
get terminationCause(): TerminationCause;
set terminationCause(terminationCause: TerminationCause);
get sessionState(): SessionState;
private get stateName();
onInboundMessage(m: Message): void;
onSessionDescription(source: Source, sd: SessionDescription): void;
onCandidate(source: Source, candidates: Array<JsepMessage>): void;
onStateTimeout(t: TimerEvent): void;
onTimeout(_: TimerEvent): void;
onException(e: Error): void;
terminate(e?: Error, source?: TransitionSource): void;
terminateWithCause(cause: TerminationCause, source?: TransitionSource): void;
accept(): void;
enter(previous: FsmState, source: TransitionSource): void;
exit(previous: FsmState, source: TransitionSource): void;
transition(to: SessionState, source: TransitionSource): void;
protected onEnter(_: TransitionSource): void;
protected onExit(_: TransitionSource): void;
protected onWillTerminate(_: TransitionSource): void;
protected handleInboundMessage(_: Message): boolean;
protected onAccept(): void;
protected onLocalSessionDescription(_: SessionDescription): void;
protected onLocalCandidate(_: JsepMessage[]): void;
}