/// import { Duplex } from "stream"; import { CindexEntry, IindexEntry, MindexEntry, SindexEntry } from "../../../../../lib/indexer"; import { ConfDTO } from "../../../../../lib/dto/ConfDTO"; import { FileDAL } from "../../../../../lib/dal/fileDAL"; import { AbstractSynchronizer } from "../AbstractSynchronizer"; import { Watcher } from "../Watcher"; import { ProtocolIndexesStream } from "./ProtocolIndexesStream"; export interface GDataProtocolIndexesStream { mindex: MindexEntry[]; iindex: IindexEntry[]; sindex: SindexEntry[]; cindex: CindexEntry[]; } export declare class GlobalIndexStream extends Duplex { private conf; private dal; private to; private localNumber; private cautious; private syncStrategy; private watcher; private sync_currConf; private memoryOnly; private wotbMem; private wotbFilePath; private memSyncInjection; private currentChunkNumber; private numberOfChunksToDownload; private memToCopyDone; private mapInjection; constructor(conf: ConfDTO, dal: FileDAL, to: number, localNumber: number, cautious: boolean, syncStrategy: AbstractSynchronizer, watcher: Watcher); private injectLoki; readChunk(i: number): void; _read(size: number): void; _write(dataArray: ProtocolIndexesStream[] | undefined, encoding: any, callback: (err: any) => void): void; /** * Interpretes a chunk of blocks, and return the generated INDEX entries for eventual backup * @param {ProtocolIndexesStream[]} dataArray * @returns {Promise} */ private transform; private beforeBlocks; private flushSindex; private flushMicIndexes; private blockFillTxSourcesConditions; private updateWotbLinks; private updateMembers; private doTrimming; private finalizeSync; }