import { AgoraRteSequenceMessage, AgoraRteSequenceType, AgoraRteSynchronizerObserver } from '../type'; import { AgoraRteServiceApi } from '../../services/api'; import { Logger, AgoraObservable } from '../../../imports'; /** * 事件同步器管理器 * 负责管理事件同步器,处理与事件同步器的通信,以及API调用 */ export declare class AgoraRteSynchronizerManager { protected logger: Logger; protected observable: AgoraObservable; private _worker?; private _fallbackSynchronizer?; private _apiService; private _userId; private _sceneId; private _sequenceType; private _requestingGap; private _isReady; private _messageQueue; private _useMainThread; private _readyTimeoutTimer?; private readonly _readyTimeoutMs; constructor({ apiService, sceneId, sequenceType, userId, }: { apiService: AgoraRteServiceApi; sceneId: string; sequenceType: AgoraRteSequenceType; userId: string; }); get sequenceTypeLabel(): "ChannelSequence" | "PeerSequence"; release(): void; private initWorker; /** * 启动 worker 就绪超时定时器 */ private startReadyTimeout; /** * 清除 worker 就绪超时定时器 */ private clearReadyTimeout; /** * 回退到主进程同步器 */ private fallbackToMainThread; private handleWorkerMessage; private handleWorkerError; /** * 清理worker资源 */ private cleanupWorker; private handleTaskReady; private handleSequenceGapDetected; private handleWorkerErrorMessage; private syncSequenceUntilSuccess; syncSequenceId(sequenceId: number): void; addTasks(tasks: AgoraRteSequenceMessage[]): void; prependTasks(tasks: AgoraRteSequenceMessage[]): void; syncSequence(count: number): Promise; addObserver(observer: AgoraRteSynchronizerObserver): void; removeObserver(observer: AgoraRteSynchronizerObserver): void; stop(): void; start(): void; destroy(): void; private postMessage; /** * 处理主进程同步器消息 */ private handleMainThreadMessage; private flushMessageQueue; private notifyWorkerTaskCompleted; }