@river-build/sdk
Version:
For more details, visit the following resources:
50 lines • 1.86 kB
TypeScript
import { Stream } from './stream';
import { ClientInitStatus } from './types';
import { IPersistenceStore, LoadedStream } from './persistenceStore';
interface SyncedStreamsExtensionDelegate {
startSyncStreams: () => Promise<void>;
initStream(streamId: string, allowGetStream: boolean, persistedData?: LoadedStream): Promise<Stream>;
emitClientInitStatus: (status: ClientInitStatus) => void;
}
export declare class SyncedStreamsExtension {
private persistenceStore;
private logId;
private log;
private logDebug;
private logError;
private readonly delegate;
private readonly tasks;
private streamIds;
private highPriorityIds;
private started;
private inProgressTick?;
private timeoutId?;
private initStreamsStartTime;
private startSyncRequested;
private didLoadStreamsFromPersistence;
private didLoadHighPriorityStreams;
private streamCountRequiringNetworkAccess;
private numStreamsLoadedFromCache;
private numStreamsLoadedFromNetwork;
private numStreamsFailedToLoad;
private totalStreamCount;
private loadedStreamCount;
initStatus: ClientInitStatus;
constructor(highPriorityStreamIds: string[] | undefined, delegate: SyncedStreamsExtensionDelegate, persistenceStore: IPersistenceStore, logId: string);
setStreamIds(streamIds: string[]): void;
setHighPriorityStreams(streamIds: string[]): void;
setStartSyncRequested(startSyncRequested: boolean): void;
start(): void;
stop(): Promise<void>;
private checkStartTicking;
private loadStreamsFromPersistence;
private loadStreamFromPersistence;
private loadStreamsFromNetwork;
private loadStreamFromNetwork;
private tick;
private startSync;
private emitClientStatus;
private stopTicking;
}
export {};
//# sourceMappingURL=syncedStreamsExtension.d.ts.map