UNPKG

@skyway-sdk/core

Version:

The official Next Generation JavaScript SDK for SkyWay

65 lines 2.82 kB
import { Event } from '@skyway-sdk/common'; import type { SkyWayContext } from '../../../../context'; import type { AnalyticsSession } from '../../../../external/analytics'; import type { IceManager } from '../../../../external/ice'; import type { SignalingSession } from '../../../../external/signaling'; import type { LocalPersonImpl } from '../../../../member/localPerson'; import type { RemoteMember } from '../../../../member/remoteMember'; import { type Publication, PublicationImpl } from '../../../../publication'; import type { Subscription, SubscriptionImpl } from '../../../../subscription'; import type { SkyWayConnection } from '../../../interface/connection'; import { Receiver } from './receiver'; import { Sender } from './sender'; /**@internal */ export declare class P2PConnection implements SkyWayConnection { private readonly _iceManager; private readonly _signaling; private readonly _analytics; private readonly _context; readonly channelId: string; readonly localPerson: LocalPersonImpl; readonly remoteMember: RemoteMember; readonly id: string; readonly type = "p2p"; readonly onDisconnect: Event<void>; readonly onClose: Event<void>; closed: boolean; disconnected: boolean; private _log; private _pubsubQueue; private sendSubscriptionStatsReportTimers; private _waitingSendSubscriptionStatsReportsFromPublish; private _waitingSendSubscriptionStatsReportsFromSubscribe; readonly sender: Sender; readonly receiver: Receiver; /**@internal */ constructor(_iceManager: IceManager, _signaling: SignalingSession, _analytics: AnalyticsSession | undefined, _context: SkyWayContext, channelId: string, localPerson: LocalPersonImpl, remoteMember: RemoteMember); /** * @internal * @throws {SkyWayError} */ startPublishing(publication: PublicationImpl, subscriptionId: string): Promise<void>; /**@internal */ stopPublishing(publication: Publication): Promise<void>; /**@internal */ startSubscribing(subscription: SubscriptionImpl): Promise<void>; /**@internal */ stopSubscribing(subscription: Subscription): Promise<void>; private _closeIfNeeded; getStats(content: Subscription | Publication): Promise<RTCStatsReport>; /**@internal */ close({ reason }?: { reason?: string; }): void; private startSendSubscriptionStatsReportTimer; } declare const p2pMessageKinds: readonly ["senderProduceMessage", "senderUnproduceMessage", "receiverAnswerMessage", "iceCandidateMessage", "senderRestartIceMessage", "ping"]; /**@internal */ export declare type P2PMessageKind = (typeof p2pMessageKinds)[number]; /**@internal */ export declare type P2PMessage = { kind: P2PMessageKind; payload: any; }; export {}; //# sourceMappingURL=index.d.ts.map