@google-cloud/pubsub 5.1.0 → 5.2.1

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.
Files changed (44) hide show
  1. package/README.md +2 -1
  2. package/build/protos/protos.d.ts +519 -5
  3. package/build/protos/protos.js +1695 -22
  4. package/build/protos/protos.json +201 -23
  5. package/build/src/exponential-retry.js +3 -3
  6. package/build/src/exponential-retry.js.map +1 -1
  7. package/build/src/index.d.ts +1 -1
  8. package/build/src/index.js +2 -1
  9. package/build/src/index.js.map +1 -1
  10. package/build/src/lease-manager.d.ts +18 -0
  11. package/build/src/lease-manager.js +52 -2
  12. package/build/src/lease-manager.js.map +1 -1
  13. package/build/src/logs.d.ts +9 -0
  14. package/build/src/logs.js +26 -0
  15. package/build/src/logs.js.map +1 -0
  16. package/build/src/message-queues.d.ts +25 -1
  17. package/build/src/message-queues.js +55 -5
  18. package/build/src/message-queues.js.map +1 -1
  19. package/build/src/message-stream.d.ts +8 -0
  20. package/build/src/message-stream.js +37 -14
  21. package/build/src/message-stream.js.map +1 -1
  22. package/build/src/publisher/message-batch.d.ts +26 -1
  23. package/build/src/publisher/message-batch.js +41 -6
  24. package/build/src/publisher/message-batch.js.map +1 -1
  25. package/build/src/publisher/message-queues.d.ts +22 -5
  26. package/build/src/publisher/message-queues.js +52 -19
  27. package/build/src/publisher/message-queues.js.map +1 -1
  28. package/build/src/pubsub.d.ts +25 -6
  29. package/build/src/pubsub.js.map +1 -1
  30. package/build/src/subscriber.d.ts +70 -4
  31. package/build/src/subscriber.js +154 -9
  32. package/build/src/subscriber.js.map +1 -1
  33. package/build/src/subscription.d.ts +11 -13
  34. package/build/src/subscription.js +2 -1
  35. package/build/src/subscription.js.map +1 -1
  36. package/build/src/telemetry-tracing.js +2 -2
  37. package/build/src/telemetry-tracing.js.map +1 -1
  38. package/build/src/temporal.d.ts +66 -4
  39. package/build/src/temporal.js +104 -4
  40. package/build/src/temporal.js.map +1 -1
  41. package/build/src/util.d.ts +22 -0
  42. package/build/src/util.js +36 -0
  43. package/build/src/util.js.map +1 -1
  44. package/package.json +4 -4
@@ -0,0 +1,9 @@
1
+ import { loggingUtils } from 'google-gax';
2
+ /**
3
+ * Base logger. Other loggers will derive from this one.
4
+ *
5
+ * @private
6
+ */
7
+ export declare const logs: {
8
+ pubsub: loggingUtils.AdhocDebugLogFunction;
9
+ };
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ // Copyright 2025 Google LLC
3
+ //
4
+ // Licensed under the Apache License, Version 2.0 (the "License");
5
+ // you may not use this file except in compliance with the License.
6
+ // You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.logs = void 0;
17
+ const google_gax_1 = require("google-gax");
18
+ /**
19
+ * Base logger. Other loggers will derive from this one.
20
+ *
21
+ * @private
22
+ */
23
+ exports.logs = {
24
+ pubsub: google_gax_1.loggingUtils.log('pubsub'),
25
+ };
26
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/logs.ts"],"names":[],"mappings":";AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;;AAEjC,2CAAwC;AAExC;;;;GAIG;AACU,QAAA,IAAI,GAAG;IAClB,MAAM,EAAE,yBAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;CACnC,CAAC"}
@@ -19,6 +19,14 @@ import { ExponentialRetry } from './exponential-retry';
19
19
  import { AckResponse, Message, Subscriber } from './subscriber';
20
20
  import { DebugMessage } from './debug';
21
21
  import * as tracing from './telemetry-tracing';
22
+ /**
23
+ * Loggers. Exported for unit tests.
24
+ *
25
+ * @private
26
+ */
27
+ export declare const logs: {
28
+ ackBatch: import("google-logging-utils").AdhocDebugLogFunction;
29
+ };
22
30
  export interface ReducedMessage {
23
31
  ackId: string;
24
32
  tracingSpan?: tracing.Span;
@@ -96,6 +104,7 @@ export declare abstract class MessageQueue {
96
104
  protected _closed: boolean;
97
105
  protected abstract _sendBatch(batch: QueuedMessages): Promise<QueuedMessages>;
98
106
  constructor(sub: Subscriber, options?: BatchOptions);
107
+ protected abstract getType(): string;
99
108
  /**
100
109
  * Shuts down this message queue gracefully. Any acks/modAcks pending in
101
110
  * the queue or waiting for retry will be removed. If exactly-once delivery
@@ -114,6 +123,11 @@ export declare abstract class MessageQueue {
114
123
  * @private
115
124
  */
116
125
  get maxMilliseconds(): number;
126
+ /*!
127
+ * Logs about a batch being sent, and why.
128
+ * @private
129
+ */
130
+ private logBatch;
117
131
  /**
118
132
  * Adds a message to the queue.
119
133
  *
@@ -139,7 +153,7 @@ export declare abstract class MessageQueue {
139
153
  * Sends a batch of messages.
140
154
  * @private
141
155
  */
142
- flush(): Promise<void>;
156
+ flush(reason?: string): Promise<void>;
143
157
  /**
144
158
  * Returns a promise that resolves after the next flush occurs.
145
159
  *
@@ -197,6 +211,11 @@ export declare abstract class MessageQueue {
197
211
  * @class
198
212
  */
199
213
  export declare class AckQueue extends MessageQueue {
214
+ /**
215
+ * @private
216
+ * @returns The name of the items in this queue.
217
+ */
218
+ protected getType(): string;
200
219
  /**
201
220
  * Sends a batch of ack requests.
202
221
  *
@@ -214,6 +233,11 @@ export declare class AckQueue extends MessageQueue {
214
233
  * @class
215
234
  */
216
235
  export declare class ModAckQueue extends MessageQueue {
236
+ /**
237
+ * @private
238
+ * @returns The name of the items in this queue.
239
+ */
240
+ protected getType(): string;
217
241
  /**
218
242
  * Sends a batch of modAck requests. Each deadline requires its own request,
219
243
  * so we have to group all the ackIds by deadline and send multiple requests.
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ModAckQueue = exports.AckQueue = exports.MessageQueue = exports.BatchError = exports.MAX_BATCH_BYTES = void 0;
18
+ exports.ModAckQueue = exports.AckQueue = exports.MessageQueue = exports.BatchError = exports.MAX_BATCH_BYTES = exports.logs = void 0;
19
19
  const google_gax_1 = require("google-gax");
20
20
  const defer = require("p-defer");
21
21
  const ack_metadata_1 = require("./ack-metadata");
@@ -25,6 +25,15 @@ const temporal_1 = require("./temporal");
25
25
  const util_1 = require("./util");
26
26
  const debug_1 = require("./debug");
27
27
  const tracing = require("./telemetry-tracing");
28
+ const logs_1 = require("./logs");
29
+ /**
30
+ * Loggers. Exported for unit tests.
31
+ *
32
+ * @private
33
+ */
34
+ exports.logs = {
35
+ ackBatch: logs_1.logs.pubsub.sublog('ack-batch'),
36
+ };
28
37
  // This is the maximum number of bytes we will send for a batch of
29
38
  // ack/modack messages. The server itself has a maximum of 512KiB, so
30
39
  // we just pull back a little from that in case of unknown fenceposts.
@@ -131,6 +140,13 @@ class MessageQueue {
131
140
  get maxMilliseconds() {
132
141
  return this._options.maxMilliseconds;
133
142
  }
143
+ /*!
144
+ * Logs about a batch being sent, and why.
145
+ * @private
146
+ */
147
+ logBatch(reason) {
148
+ exports.logs.ackBatch.info('%s triggered %s batch of %i messages, a total of %i bytes', reason, this.getType(), this._requests.length, this.bytes);
149
+ }
134
150
  /**
135
151
  * Adds a message to the queue.
136
152
  *
@@ -153,7 +169,10 @@ class MessageQueue {
153
169
  // message, flush first. (maxMilliseconds is handled by timers.)
154
170
  if (this._requests.length + 1 >= maxMessages ||
155
171
  this.bytes + size >= exports.MAX_BATCH_BYTES) {
156
- await this.flush();
172
+ const reason = this._requests.length + 1 >= maxMessages
173
+ ? 'going over count'
174
+ : 'going over size';
175
+ await this.flush(reason);
157
176
  }
158
177
  // Add the message to the current batch.
159
178
  const responsePromise = defer();
@@ -171,7 +190,7 @@ class MessageQueue {
171
190
  this.bytes += size;
172
191
  // Ensure that we are counting toward maxMilliseconds by timer.
173
192
  if (!this._timer) {
174
- this._timer = setTimeout(() => this.flush(), maxMilliseconds);
193
+ this._timer = setTimeout(() => this.flush('batch timer'), maxMilliseconds);
175
194
  }
176
195
  return responsePromise.promise;
177
196
  }
@@ -187,14 +206,28 @@ class MessageQueue {
187
206
  message.responsePromise?.reject(new subscriber_1.AckError(subscriber_1.AckResponses.Invalid, 'Retried for too long'));
188
207
  return;
189
208
  }
209
+ // If we'd go over maxMessages or MAX_BATCH_BYTES by re-queueing this
210
+ // message, flush first
211
+ const { maxMessages } = this._options;
212
+ const size = Buffer.byteLength(message.message.ackId, 'utf8');
213
+ if (this._requests.length + 1 >= maxMessages ||
214
+ this.bytes + size >= exports.MAX_BATCH_BYTES) {
215
+ const reason = this._requests.length + 1 >= maxMessages
216
+ ? 'going over count'
217
+ : 'going over size';
218
+ // No need to wait on this one; it clears the old batch out, and acks
219
+ // are best effort.
220
+ this.flush(reason).catch(() => { });
221
+ }
190
222
  // Just throw it in for another round of processing on the next batch.
191
223
  this._requests.push(message);
192
224
  this.numPendingRequests++;
193
225
  this.numInFlightRequests++;
194
226
  this.numInRetryRequests--;
227
+ this.bytes += size;
195
228
  // Make sure we actually do have another batch scheduled.
196
229
  if (!this._timer) {
197
- this._timer = setTimeout(() => this.flush(), this._options.maxMilliseconds);
230
+ this._timer = setTimeout(() => this.flush('retry timer'), this._options.maxMilliseconds);
198
231
  }
199
232
  }
200
233
  /**
@@ -210,7 +243,10 @@ class MessageQueue {
210
243
  * Sends a batch of messages.
211
244
  * @private
212
245
  */
213
- async flush() {
246
+ async flush(reason) {
247
+ if (reason) {
248
+ this.logBatch(reason);
249
+ }
214
250
  if (this._timer) {
215
251
  clearTimeout(this._timer);
216
252
  delete this._timer;
@@ -401,6 +437,13 @@ exports.MessageQueue = MessageQueue;
401
437
  * @class
402
438
  */
403
439
  class AckQueue extends MessageQueue {
440
+ /**
441
+ * @private
442
+ * @returns The name of the items in this queue.
443
+ */
444
+ getType() {
445
+ return 'ack';
446
+ }
404
447
  /**
405
448
  * Sends a batch of ack requests.
406
449
  *
@@ -460,6 +503,13 @@ exports.AckQueue = AckQueue;
460
503
  * @class
461
504
  */
462
505
  class ModAckQueue extends MessageQueue {
506
+ /**
507
+ * @private
508
+ * @returns The name of the items in this queue.
509
+ */
510
+ getType() {
511
+ return 'modack/nack';
512
+ }
463
513
  /**
464
514
  * Sends a batch of modAck requests. Each deadline requires its own request,
465
515
  * so we have to group all the ackIds by deadline and send multiple requests.
@@ -1 +1 @@
1
- {"version":3,"file":"message-queues.js","sourceRoot":"","sources":["../../src/message-queues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-queues.js","sourceRoot":"","sources":["../../src/message-queues.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,14 @@ import { grpc } from 'google-gax';
17
17
  import { PassThrough } from 'stream';
18
18
  import { Subscriber } from './subscriber';
19
19
  import { Duration } from './temporal';
20
+ /**
21
+ * Loggers. Exported for unit tests.
22
+ *
23
+ * @private
24
+ */
25
+ export declare const logs: {
26
+ subscriberStreams: import("google-logging-utils").AdhocDebugLogFunction;
27
+ };
20
28
  /**
21
29
  * @typedef {object} MessageStreamOptions
22
30
  * @property {number} [highWaterMark=0] Configures the Buffer level for all
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.MessageStream = exports.ChannelError = exports.StatusError = void 0;
18
+ exports.MessageStream = exports.ChannelError = exports.StatusError = exports.logs = void 0;
19
19
  const promisify_1 = require("@google-cloud/promisify");
20
20
  const google_gax_1 = require("google-gax");
21
21
  const isStreamEnded = require("is-stream-ended");
@@ -25,6 +25,15 @@ const default_options_1 = require("./default-options");
25
25
  const temporal_1 = require("./temporal");
26
26
  const exponential_retry_1 = require("./exponential-retry");
27
27
  const debug_1 = require("./debug");
28
+ const logs_1 = require("./logs");
29
+ /**
30
+ * Loggers. Exported for unit tests.
31
+ *
32
+ * @private
33
+ */
34
+ exports.logs = {
35
+ subscriberStreams: logs_1.logs.pubsub.sublog('subscriber-streams'),
36
+ };
28
37
  /*!
29
38
  * Frequency to ping streams.
30
39
  */
@@ -40,7 +49,7 @@ const DEFAULT_OPTIONS = {
40
49
  highWaterMark: 0,
41
50
  maxStreams: default_options_1.defaultOptions.subscription.maxStreams,
42
51
  timeout: 300000,
43
- retryMinBackoff: temporal_1.Duration.from({ millis: 100 }),
52
+ retryMinBackoff: temporal_1.Duration.from({ milliseconds: 100 }),
44
53
  retryMaxBackoff: temporal_1.Duration.from({ seconds: 60 }),
45
54
  };
46
55
  /**
@@ -152,7 +161,7 @@ class MessageStream extends stream_1.PassThrough {
152
161
  for (let i = 0; i < this._streams.length; i++) {
153
162
  const tracker = this._streams[i];
154
163
  if (tracker.stream) {
155
- this._removeStream(i);
164
+ this._removeStream(i, 'overall message stream destroyed', 'n/a');
156
165
  }
157
166
  }
158
167
  callback(error);
@@ -164,8 +173,8 @@ class MessageStream extends stream_1.PassThrough {
164
173
  *
165
174
  * @param {stream} stream The StreamingPull stream.
166
175
  */
167
- _replaceStream(index, stream) {
168
- this._removeStream(index);
176
+ _replaceStream(index, stream, reason) {
177
+ this._removeStream(index, reason, 'stream replacement');
169
178
  this._setHighWaterMark(stream);
170
179
  const tracker = this._streams[index];
171
180
  tracker.stream = stream;
@@ -205,7 +214,7 @@ class MessageStream extends stream_1.PassThrough {
205
214
  }
206
215
  const all = [];
207
216
  for (let i = 0; i < this._streams.length; i++) {
208
- all.push(this._fillOne(i, client));
217
+ all.push(this._fillOne(i, client, 'initial fill'));
209
218
  }
210
219
  await Promise.all(all);
211
220
  try {
@@ -216,8 +225,9 @@ class MessageStream extends stream_1.PassThrough {
216
225
  this.destroy(err);
217
226
  }
218
227
  }
219
- async _fillOne(index, client) {
228
+ async _fillOne(index, client, reason) {
220
229
  if (this.destroyed) {
230
+ exports.logs.subscriberStreams.info('not filling stream %i for reason "%s" because already shut down', index, reason);
221
231
  return;
222
232
  }
223
233
  const tracker = this._streams[index];
@@ -229,6 +239,7 @@ class MessageStream extends stream_1.PassThrough {
229
239
  client = await this._getClient();
230
240
  }
231
241
  catch (e) {
242
+ exports.logs.subscriberStreams.error('unable to create stream %i: %o', index, e);
232
243
  const err = e;
233
244
  this.destroy(err);
234
245
  return;
@@ -251,7 +262,7 @@ class MessageStream extends stream_1.PassThrough {
251
262
  },
252
263
  };
253
264
  const stream = client.streamingPull({ deadline, otherArgs });
254
- this._replaceStream(index, stream);
265
+ this._replaceStream(index, stream, reason);
255
266
  stream.write(request);
256
267
  }
257
268
  /**
@@ -276,6 +287,7 @@ class MessageStream extends stream_1.PassThrough {
276
287
  * @private
277
288
  */
278
289
  _keepAlive() {
290
+ exports.logs.subscriberStreams.info('sending keepAlive to %i streams', this._streams.length);
279
291
  this._streams.forEach(tracker => {
280
292
  // It's possible that a status event fires off (signaling the rpc being
281
293
  // closed) but the stream hasn't drained yet. Writing to such a stream will
@@ -299,17 +311,22 @@ class MessageStream extends stream_1.PassThrough {
299
311
  * @param {object} status The stream status.
300
312
  */
301
313
  _onEnd(index, status) {
302
- this._removeStream(index);
314
+ const willRetry = pull_retry_1.PullRetry.retry(status);
315
+ this._removeStream(index, 'stream was closed', willRetry ? 'will be retried' : 'will not be retried');
303
316
  const statusError = new StatusError(status);
304
- if (pull_retry_1.PullRetry.retry(status)) {
305
- this.emit('debug', new debug_1.DebugMessage(`Subscriber stream ${index} has ended with status ${status.code}; will be retried.`, statusError));
317
+ if (willRetry) {
318
+ const message = `Subscriber stream ${index} has ended with status ${status.code}; will be retried.`;
319
+ exports.logs.subscriberStreams.info('%s', message);
320
+ this.emit('debug', new debug_1.DebugMessage(message, statusError));
306
321
  if (pull_retry_1.PullRetry.resetFailures(status)) {
307
322
  this._retrier.reset(this._streams[index]);
308
323
  }
309
- this._retrier.retryLater(this._streams[index], () => this._fillOne(index));
324
+ this._retrier.retryLater(this._streams[index], () => this._fillOne(index, undefined, 'retry'));
310
325
  }
311
326
  else if (this._activeStreams() === 0) {
312
- this.emit('debug', new debug_1.DebugMessage(`Subscriber stream ${index} has ended with status ${status.code}; will not be retried.`, statusError));
327
+ const message = `Subscriber stream ${index} has ended with status ${status.code}; will not be retried.`;
328
+ exports.logs.subscriberStreams.info('%s', message);
329
+ this.emit('debug', new debug_1.DebugMessage(message, statusError));
313
330
  // No streams left, and nothing to retry.
314
331
  this.destroy(new StatusError(status));
315
332
  }
@@ -329,6 +346,11 @@ class MessageStream extends stream_1.PassThrough {
329
346
  const code = err.code;
330
347
  const tracker = this._streams[index];
331
348
  const receivedStatus = !tracker.stream || (tracker.stream && !tracker.receivedStatus);
349
+ // For the user-cancelled errors, we don't need to show those, we're handling
350
+ // notifying of us closing the stream elsewhere.
351
+ if (err.code !== google_gax_1.grpc.status.CANCELLED) {
352
+ exports.logs.subscriberStreams.error('error on stream %i: %o', index, err);
353
+ }
332
354
  if (typeof code !== 'number' || !receivedStatus) {
333
355
  this.emit('error', err);
334
356
  }
@@ -368,9 +390,10 @@ class MessageStream extends stream_1.PassThrough {
368
390
  *
369
391
  * @param {number} index The stream to remove.
370
392
  */
371
- _removeStream(index) {
393
+ _removeStream(index, reason, whatNext) {
372
394
  const tracker = this._streams[index];
373
395
  if (tracker.stream) {
396
+ exports.logs.subscriberStreams.info('closing stream %i; why: %s; next: %s', index, reason, whatNext);
374
397
  tracker.stream.unpipe(this);
375
398
  tracker.stream.cancel();
376
399
  tracker.stream = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"message-stream.js","sourceRoot":"","sources":["../../src/message-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-stream.js","sourceRoot":"","sources":["../../src/message-stream.ts"],"names":[],"mappings":"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"}
@@ -59,10 +59,23 @@ export declare class MessageBatch {
59
59
  /**
60
60
  * Indicates if a given message can fit in the batch.
61
61
  *
62
- * @param {object} message The message in question.
62
+ * @param {PubsubMessage} message The message in question.
63
63
  * @returns {boolean}
64
64
  */
65
65
  canFit(message: PubsubMessage): boolean;
66
+ /**
67
+ * Indicates if a given message can fit in the batch, re: message count.
68
+ *
69
+ * @returns {boolean}
70
+ */
71
+ canFitCount(): boolean;
72
+ /**
73
+ * Indicates if a given message can fit in the batch, re: byte count.
74
+ *
75
+ * @param {PubsubMessage} message The message in question.
76
+ * @returns {boolean}
77
+ */
78
+ canFitSize(message: PubsubMessage): boolean;
66
79
  /**
67
80
  * Checks to see if this batch is at the maximum allowed payload size.
68
81
  * When publishing ordered messages, it is ok to exceed the user configured
@@ -77,4 +90,16 @@ export declare class MessageBatch {
77
90
  * @returns {boolean}
78
91
  */
79
92
  isFull(): boolean;
93
+ /**
94
+ * True if we are full because of too many messages.
95
+ *
96
+ * @private
97
+ */
98
+ isFullMessages(): boolean;
99
+ /**
100
+ * True if we are full because of too many bytes.
101
+ *
102
+ * @private
103
+ */
104
+ isFullSize(): boolean;
80
105
  }
@@ -81,18 +81,36 @@ class MessageBatch {
81
81
  return {
82
82
  messages: this.messages,
83
83
  callbacks: this.callbacks,
84
+ bytes: this.bytes,
84
85
  };
85
86
  }
86
87
  /**
87
88
  * Indicates if a given message can fit in the batch.
88
89
  *
89
- * @param {object} message The message in question.
90
+ * @param {PubsubMessage} message The message in question.
90
91
  * @returns {boolean}
91
92
  */
92
93
  canFit(message) {
93
- const { maxMessages, maxBytes } = this.options;
94
- return (this.messages.length < maxMessages &&
95
- this.bytes + (0, pubsub_message_1.calculateMessageSize)(message) <= maxBytes);
94
+ return this.canFitCount() && this.canFitSize(message);
95
+ }
96
+ /**
97
+ * Indicates if a given message can fit in the batch, re: message count.
98
+ *
99
+ * @returns {boolean}
100
+ */
101
+ canFitCount() {
102
+ const { maxMessages } = this.options;
103
+ return this.messages.length < maxMessages;
104
+ }
105
+ /**
106
+ * Indicates if a given message can fit in the batch, re: byte count.
107
+ *
108
+ * @param {PubsubMessage} message The message in question.
109
+ * @returns {boolean}
110
+ */
111
+ canFitSize(message) {
112
+ const { maxBytes } = this.options;
113
+ return this.bytes + (0, pubsub_message_1.calculateMessageSize)(message) <= maxBytes;
96
114
  }
97
115
  /**
98
116
  * Checks to see if this batch is at the maximum allowed payload size.
@@ -111,8 +129,25 @@ class MessageBatch {
111
129
  * @returns {boolean}
112
130
  */
113
131
  isFull() {
114
- const { maxMessages, maxBytes } = this.options;
115
- return this.messages.length >= maxMessages || this.bytes >= maxBytes;
132
+ return this.isFullMessages() || this.isFullSize();
133
+ }
134
+ /**
135
+ * True if we are full because of too many messages.
136
+ *
137
+ * @private
138
+ */
139
+ isFullMessages() {
140
+ const { maxMessages } = this.options;
141
+ return this.messages.length >= maxMessages;
142
+ }
143
+ /**
144
+ * True if we are full because of too many bytes.
145
+ *
146
+ * @private
147
+ */
148
+ isFullSize() {
149
+ const { maxBytes } = this.options;
150
+ return this.bytes >= maxBytes;
116
151
  }
117
152
  }
118
153
  exports.MessageBatch = MessageBatch;
@@ -1 +1 @@
1
- {"version":3,"file":"message-batch.js","sourceRoot":"","sources":["../../../src/publisher/message-batch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,yBAAgE;AAChE,qDAAsD;AACtD,gDAAgD;AAmBhD;;;;;;;;GAQG;AACH;;;;;;GAMG;AACH,MAAa,YAAY;IAOd;IACA;IAPT,QAAQ,CAAkB;IAC1B,SAAS,CAAoB;IAC7B,OAAO,CAAS;IAChB,KAAK,CAAS;IAEd,YACS,OAA4B,EAC5B,SAAiB;QADjB,YAAO,GAAP,OAAO,CAAqB;QAC5B,cAAS,GAAT,SAAS,CAAQ;QAExB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAA4B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,OAAsB,EAAE,QAAyB;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,IAAA,qCAAoB,EAAC,OAAO,CAAC,CAAC;QAE5C,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,GAAG;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1D,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAsB;QAC3B,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7C,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAY;YACnC,IAAI,CAAC,KAAK,GAAG,IAAA,qCAAoB,EAAC,OAAO,CAAC,IAAI,QAAS,CACxD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,OAAO;QACL,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAC,GAAG,eAAY,CAAC;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,WAAY,IAAI,IAAI,CAAC,KAAK,IAAI,QAAS,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,WAAY,IAAI,IAAI,CAAC,KAAK,IAAI,QAAS,CAAC;IACzE,CAAC;CACF;AAxFD,oCAwFC"}
1
+ {"version":3,"file":"message-batch.js","sourceRoot":"","sources":["../../../src/publisher/message-batch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,yBAAgE;AAChE,qDAAsD;AACtD,gDAAgD;AAoBhD;;;;;;;;GAQG;AACH;;;;;;GAMG;AACH,MAAa,YAAY;IAOd;IACA;IAPT,QAAQ,CAAkB;IAC1B,SAAS,CAAoB;IAC7B,OAAO,CAAS;IAChB,KAAK,CAAS;IAEd,YACS,OAA4B,EAC5B,SAAiB;QADjB,YAAO,GAAP,OAAO,CAAqB;QAC5B,cAAS,GAAT,SAAS,CAAQ;QAExB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,OAA4B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,OAAsB,EAAE,QAAyB;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,IAAA,qCAAoB,EAAC,OAAO,CAAC,CAAC;QAE5C,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,GAAG;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1D,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAsB;QAC3B,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,MAAM,EAAC,WAAW,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAY,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,OAAsB;QAC/B,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,GAAG,IAAA,qCAAoB,EAAC,OAAO,CAAC,IAAI,QAAS,CAAC;IACjE,CAAC;IAED;;;;;;OAMG;IACH,OAAO;QACL,MAAM,EAAC,WAAW,EAAE,QAAQ,EAAC,GAAG,eAAY,CAAC;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,WAAY,IAAI,IAAI,CAAC,KAAK,IAAI,QAAS,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,MAAM,EAAC,WAAW,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,WAAY,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,IAAI,QAAS,CAAC;IACjC,CAAC;CACF;AA7HD,oCA6HC"}