@message-queue-toolkit/kafka 0.9.1-beta.6 → 0.9.1-beta.7d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -18,20 +18,17 @@ export class KafkaMessageBatchStream extends Duplex {
|
|
|
18
18
|
this.batchSize = options.batchSize;
|
|
19
19
|
this.timeout = options.timeoutMilliseconds;
|
|
20
20
|
this.messages = [];
|
|
21
|
-
// Listen to 'drain' event to resume after backpressure
|
|
22
|
-
this.on('drain', () => {
|
|
23
|
-
if (!this.pendingCallback)
|
|
24
|
-
return;
|
|
25
|
-
const cb = this.pendingCallback;
|
|
26
|
-
this.pendingCallback = undefined;
|
|
27
|
-
cb();
|
|
28
|
-
});
|
|
29
21
|
}
|
|
30
22
|
_read() {
|
|
31
|
-
//
|
|
23
|
+
// When _read is called, it means the downstream consumer is ready for more data
|
|
24
|
+
// This is when we should resume the writable side by calling the pending callback if it exists
|
|
25
|
+
if (!this.pendingCallback)
|
|
26
|
+
return;
|
|
27
|
+
const cb = this.pendingCallback;
|
|
28
|
+
this.pendingCallback = undefined;
|
|
29
|
+
cb();
|
|
32
30
|
}
|
|
33
31
|
_write(message, _encoding, callback) {
|
|
34
|
-
// biome-ignore lint/correctness/noUnusedVariables: All good in this version
|
|
35
32
|
let canContinue = true;
|
|
36
33
|
try {
|
|
37
34
|
this.messages.push(message);
|
|
@@ -41,15 +38,14 @@ export class KafkaMessageBatchStream extends Duplex {
|
|
|
41
38
|
else {
|
|
42
39
|
// If backpressure happens, we don't have a callback to hold
|
|
43
40
|
// The next _write will handle backpressure
|
|
44
|
-
// TODO: check if we can handle this.
|
|
45
41
|
this.existingTimeout ??= setTimeout(() => this.flushMessages(), this.timeout);
|
|
46
42
|
}
|
|
47
43
|
}
|
|
48
44
|
finally {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
if (!canContinue)
|
|
46
|
+
this.pendingCallback = callback;
|
|
47
|
+
else
|
|
48
|
+
callback();
|
|
53
49
|
}
|
|
54
50
|
}
|
|
55
51
|
_final(callback) {
|
|
@@ -58,10 +54,8 @@ export class KafkaMessageBatchStream extends Duplex {
|
|
|
58
54
|
callback();
|
|
59
55
|
}
|
|
60
56
|
flushMessages() {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
this.existingTimeout = undefined;
|
|
64
|
-
}
|
|
57
|
+
clearTimeout(this.existingTimeout);
|
|
58
|
+
this.existingTimeout = undefined;
|
|
65
59
|
if (this.isFlushing)
|
|
66
60
|
return true;
|
|
67
61
|
this.isFlushing = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KafkaMessageBatchStream.js","sourceRoot":"","sources":["../../lib/utils/KafkaMessageBatchStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAWpC;;;;;;GAMG;AACH,MAAM,OAAO,uBAAkC,SAAQ,MAAM;IAC1C,SAAS,CAAQ;IACjB,OAAO,CAAQ;IAEf,QAAQ,CAAY;IAC7B,eAAe,CAA4B;IAC3C,eAAe,CAA8B;IAC7C,UAAU,GAAY,KAAK,CAAA;IAEnC,YAAY,OAA2D;QACrE,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAA;QAE1C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"KafkaMessageBatchStream.js","sourceRoot":"","sources":["../../lib/utils/KafkaMessageBatchStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAWpC;;;;;;GAMG;AACH,MAAM,OAAO,uBAAkC,SAAQ,MAAM;IAC1C,SAAS,CAAQ;IACjB,OAAO,CAAQ;IAEf,QAAQ,CAAY;IAC7B,eAAe,CAA4B;IAC3C,eAAe,CAA8B;IAC7C,UAAU,GAAY,KAAK,CAAA;IAEnC,YAAY,OAA2D;QACrE,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAA;QAE1C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;IACpB,CAAC;IAEQ,KAAK;QACZ,gFAAgF;QAChF,+FAA+F;QAC/F,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAM;QAEjC,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAA;QAC/B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAChC,EAAE,EAAE,CAAA;IACN,CAAC;IAEQ,MAAM,CAAC,OAAiB,EAAE,SAAyB,EAAE,QAA0B;QACtF,IAAI,WAAW,GAAG,IAAI,CAAA;QAEtB,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAE3B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3C,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;YACpC,CAAC;iBAAM,CAAC;gBACN,4DAA4D;gBAC5D,2CAA2C;gBAC3C,IAAI,CAAC,eAAe,KAAK,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAC/E,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,WAAW;gBAAE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAA;;gBAC5C,QAAQ,EAAE,CAAA;QACjB,CAAC;IACH,CAAC;IAEQ,MAAM,CAAC,QAA0B;QACxC,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,oBAAoB;QACpC,QAAQ,EAAE,CAAA;IACZ,CAAC;IAEO,aAAa;QACnB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAClC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAEhC,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAA;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9D,IAAI,WAAW,GAAG,IAAI,CAAA;QACtB,IAAI,QAAQ,CAAC,MAAM;YAAE,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;QAEvB,OAAO,WAAW,CAAA;IACpB,CAAC;IAEQ,IAAI,CAAC,KAAwB,EAAE,QAAyB;QAC/D,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACpC,CAAC;CACF"}
|