diff --git a/src/cdn/funcs/saveResponse.ts b/src/cdn/funcs/saveResponse.ts index 896c80b..7765dcc 100644 --- a/src/cdn/funcs/saveResponse.ts +++ b/src/cdn/funcs/saveResponse.ts @@ -54,11 +54,11 @@ export default function saveResponse( return reject(`Expected length ${headerLength} but received ${totalLength}.`); } - //Return file reader + //wait until everything is written to disk, then return file name //TODO: need to automatically delete file once it is no longer used //TODO: need to provide methods to seek through file - return resolve(tempFileName); - //const stream = fs.createReadStream(tempFileName); - //return resolve(stream); + previousChunk.then(() => { + resolve(tempFileName); + }); }); } diff --git a/src/ssn/getPatch.ts b/src/ssn/getPatch.ts index df87e6f..a99f379 100644 --- a/src/ssn/getPatch.ts +++ b/src/ssn/getPatch.ts @@ -32,9 +32,6 @@ export default async function getPatch(product: Product, from: number, to: numbe //Then we need to wait for disks to finish download before we can extract individual files //TODO: we can optimize this to already extract some files as soon as their relevant parts are downloaded const diskFilenames = await Promise.all(diskFiles); - console.log('Waiting for everything to be written to disk...'); - await new Promise((resolve) => { setTimeout(resolve, 15000); }); - console.log('Done!'); //const dvArray = bufferArray.map((buffer) => new DataView(buffer)); //TODO: Verify that downloaded files match the hash in `solidpkg.pieces`