Skip to content

Commit 09f5ced

Browse files
committed
add more tests, improve split/batch/subbatch collection
1 parent 8bb6f01 commit 09f5ced

4 files changed

Lines changed: 4107 additions & 37 deletions

File tree

browser/boilingdata.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/boilingdata/boilingdata.ts

Lines changed: 63 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -421,18 +421,22 @@ export class BoilingData {
421421
if (!message.requestId || !message.batchSerial || !message.totalBatches || message.batchSerial <= 0) return;
422422
const queryInfo = this.socketInstance.queries.get(message?.requestId);
423423
if (!queryInfo) return;
424-
queryInfo.receivedBatches.add(message.batchSerial);
425-
// split bath check (optional, parent is batchSerial)
426-
if (message.splitSerial && message.totalSplitSerials) {
427-
if (!queryInfo.receivedSplitBatches.has(message.batchSerial)) {
428-
queryInfo.receivedSplitBatches.set(message.batchSerial, new Set());
429-
}
430-
const receivedSplitSerials = queryInfo.receivedSplitBatches.get(message.batchSerial);
431-
if (receivedSplitSerials) {
432-
receivedSplitSerials.add(message.splitSerial);
433-
if (receivedSplitSerials.size < message.totalSplitSerials) return;
434-
}
435-
}
424+
425+
// console.log(
426+
// "batch",
427+
// message?.batchSerial,
428+
// "/",
429+
// message?.totalBatches,
430+
// "split",
431+
// message?.splitSerial,
432+
// "/",
433+
// message.totalSplitSerials,
434+
// "sub-batch",
435+
// message?.subBatchSerial,
436+
// "/",
437+
// message?.totalSubBatches,
438+
// );
439+
436440
// sub batch check (optional, parent is splitSerial if exists, otherwise batchSerial)
437441
const parentBatchSerial =
438442
message.splitSerial && message.totalSplitSerials ? message.splitSerial : message.batchSerial;
@@ -444,6 +448,53 @@ export class BoilingData {
444448
if (receivedSubBatches) {
445449
receivedSubBatches.add(message.subBatchSerial);
446450
if (receivedSubBatches.size < message.totalSubBatches) return;
451+
// --- SPLIT READY ---
452+
// console.log(
453+
// "BATCH/SPLIT READY",
454+
// message.splitSerial ?? message.batchSerial,
455+
// "/",
456+
// message.totalSplitSerials ?? message.totalBatches,
457+
// );
458+
// split batch check (optional, parent is batchSerial)
459+
if (message.splitSerial && message.totalSplitSerials) {
460+
if (!queryInfo.receivedSplitBatches.has(message.batchSerial)) {
461+
queryInfo.receivedSplitBatches.set(message.batchSerial, new Set());
462+
}
463+
const receivedSplitSerials = queryInfo.receivedSplitBatches.get(message.batchSerial);
464+
if (receivedSplitSerials) {
465+
receivedSplitSerials.add(message.splitSerial);
466+
if (receivedSplitSerials.size < message.totalSplitSerials) return;
467+
// --- BATCH READY ---
468+
// console.log("BATCH READY", message.batchSerial, "/", message.totalBatches);
469+
// Only when we have all splits for the batch, mark batch ready
470+
queryInfo.receivedBatches.add(message.batchSerial);
471+
}
472+
} else {
473+
// --- BATCH READY ---
474+
// console.log("BATCH READY", message.batchSerial, "/", message.totalBatches);
475+
// if no splitSerials, then mark the batch ready
476+
queryInfo.receivedBatches.add(message.batchSerial);
477+
}
478+
}
479+
} else {
480+
if (message.splitSerial && message.totalSplitSerials) {
481+
if (!queryInfo.receivedSplitBatches.has(message.batchSerial)) {
482+
queryInfo.receivedSplitBatches.set(message.batchSerial, new Set());
483+
}
484+
const receivedSplitSerials = queryInfo.receivedSplitBatches.get(message.batchSerial);
485+
if (receivedSplitSerials) {
486+
receivedSplitSerials.add(message.splitSerial);
487+
if (receivedSplitSerials.size < message.totalSplitSerials) return;
488+
// Only when we have all splits for the batch, mark batch ready
489+
// --- BATCH READY ---
490+
// console.log("BATCH READY", message.batchSerial, "/", message.totalBatches);
491+
queryInfo.receivedBatches.add(message.batchSerial);
492+
}
493+
} else {
494+
// if no splitSerials, then mark the batch ready
495+
// --- BATCH READY ---
496+
// console.log("BATCH READY", message.batchSerial, "/", message.totalBatches);
497+
queryInfo.receivedBatches.add(message.batchSerial);
447498
}
448499
}
449500
if (queryInfo.receivedBatches.size < message.totalBatches) return;

0 commit comments

Comments
 (0)