@agatx/serenada-core
    Preparing search index...

    Interface SignalingProvider

    interface SignalingProvider {
        capabilities?: ProviderCapabilities;
        version: number;
        broadcast(type: string, payload: unknown): void;
        connect(): void;
        disconnect(): void;
        endRoom(): void;
        getIceServers(): Promise<RTCIceServer[]>;
        joinRoom(roomId: string, options?: JoinOptions): void;
        leaveRoom(): void;
        off<K extends keyof SignalingProviderEventMap>(
            event: K,
            cb: (data: SignalingProviderEventMap[K]) => void,
        ): void;
        on<K extends keyof SignalingProviderEventMap>(
            event: K,
            cb: (data: SignalingProviderEventMap[K]) => void,
        ): void;
        sendToPeer(peerId: string, type: string, payload: unknown): void;
        setTurnRefreshGate?(gate: (() => Promise<boolean>) | null): void;
    }

    Implemented by

    Index

    Properties

    capabilities?: ProviderCapabilities
    version: number

    Methods

    • Deliver a message only to peerId. In particular, a targeted participant_media_state is ephemeral compatibility state: providers and their relays must not broadcast it, persist it, or replay it in room snapshots.

      Parameters

      • peerId: string
      • type: string
      • payload: unknown

      Returns void

    • Optional hook: install a gate that returns false to skip a scheduled TURN-credential refresh. Providers without periodic refresh (e.g., loopback/test) may omit this.

      Parameters

      • gate: (() => Promise<boolean>) | null

      Returns void