DataSplitter.d.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. /// <reference types="node" />
  2. import { Writable } from "stream";
  3. import { Operation } from "./downloadPlanBuilder";
  4. export interface PartListDataTask {
  5. readonly oldFileFd: number;
  6. readonly tasks: Array<Operation>;
  7. readonly start: number;
  8. readonly end: number;
  9. }
  10. export declare function copyData(task: Operation, out: Writable, oldFileFd: number, reject: (error: Error) => void, resolve: () => void): void;
  11. export declare class DataSplitter extends Writable {
  12. private readonly out;
  13. private readonly options;
  14. private readonly partIndexToTaskIndex;
  15. private readonly partIndexToLength;
  16. private readonly finishHandler;
  17. partIndex: number;
  18. private headerListBuffer;
  19. private readState;
  20. private ignoreByteCount;
  21. private remainingPartDataCount;
  22. private readonly boundaryLength;
  23. constructor(out: Writable, options: PartListDataTask, partIndexToTaskIndex: Map<number, number>, boundary: string, partIndexToLength: Array<number>, finishHandler: () => any);
  24. readonly isFinished: boolean;
  25. _write(data: Buffer, encoding: string, callback: (error?: Error) => void): void;
  26. private handleData;
  27. private copyExistingData;
  28. private searchHeaderListEnd;
  29. private actualPartLength;
  30. private onPartEnd;
  31. private processPartStarted;
  32. private processPartData;
  33. }