@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
@@ -3291,8 +3291,7 @@
3291
3291
  "java_multiple_files": true,
3292
3292
  "java_outer_classname": "ResourceProto",
3293
3293
  "java_package": "com.google.api",
3294
- "objc_class_prefix": "GAPI",
3295
- "cc_enable_arenas": true
3294
+ "objc_class_prefix": "GAPI"
3296
3295
  },
3297
3296
  "nested": {
3298
3297
  "http": {
@@ -3416,6 +3415,10 @@
3416
3415
  "rule": "repeated",
3417
3416
  "type": "ClientLibraryDestination",
3418
3417
  "id": 2
3418
+ },
3419
+ "selectiveGapicGeneration": {
3420
+ "type": "SelectiveGapicGeneration",
3421
+ "id": 3
3419
3422
  }
3420
3423
  }
3421
3424
  },
@@ -3556,6 +3559,28 @@
3556
3559
  "common": {
3557
3560
  "type": "CommonLanguageSettings",
3558
3561
  "id": 1
3562
+ },
3563
+ "experimentalFeatures": {
3564
+ "type": "ExperimentalFeatures",
3565
+ "id": 2
3566
+ }
3567
+ },
3568
+ "nested": {
3569
+ "ExperimentalFeatures": {
3570
+ "fields": {
3571
+ "restAsyncIoEnabled": {
3572
+ "type": "bool",
3573
+ "id": 1
3574
+ },
3575
+ "protobufPythonicTypesEnabled": {
3576
+ "type": "bool",
3577
+ "id": 2
3578
+ },
3579
+ "unversionedPackageDisabled": {
3580
+ "type": "bool",
3581
+ "id": 3
3582
+ }
3583
+ }
3559
3584
  }
3560
3585
  }
3561
3586
  },
@@ -3613,6 +3638,11 @@
3613
3638
  "common": {
3614
3639
  "type": "CommonLanguageSettings",
3615
3640
  "id": 1
3641
+ },
3642
+ "renamedServices": {
3643
+ "keyType": "string",
3644
+ "type": "string",
3645
+ "id": 2
3616
3646
  }
3617
3647
  }
3618
3648
  },
@@ -3674,6 +3704,19 @@
3674
3704
  "PACKAGE_MANAGER": 20
3675
3705
  }
3676
3706
  },
3707
+ "SelectiveGapicGeneration": {
3708
+ "fields": {
3709
+ "methods": {
3710
+ "rule": "repeated",
3711
+ "type": "string",
3712
+ "id": 1
3713
+ },
3714
+ "generateOmittedAsInternal": {
3715
+ "type": "bool",
3716
+ "id": 2
3717
+ }
3718
+ }
3719
+ },
3677
3720
  "LaunchStage": {
3678
3721
  "values": {
3679
3722
  "LAUNCH_STAGE_UNSPECIFIED": 0,
@@ -3806,12 +3849,19 @@
3806
3849
  "type": "FileDescriptorProto",
3807
3850
  "id": 1
3808
3851
  }
3809
- }
3852
+ },
3853
+ "extensions": [
3854
+ [
3855
+ 536000000,
3856
+ 536000000
3857
+ ]
3858
+ ]
3810
3859
  },
3811
3860
  "Edition": {
3812
3861
  "edition": "proto2",
3813
3862
  "values": {
3814
3863
  "EDITION_UNKNOWN": 0,
3864
+ "EDITION_LEGACY": 900,
3815
3865
  "EDITION_PROTO2": 998,
3816
3866
  "EDITION_PROTO3": 999,
3817
3867
  "EDITION_2023": 1000,
@@ -3850,6 +3900,11 @@
3850
3900
  "type": "int32",
3851
3901
  "id": 11
3852
3902
  },
3903
+ "optionDependency": {
3904
+ "rule": "repeated",
3905
+ "type": "string",
3906
+ "id": 15
3907
+ },
3853
3908
  "messageType": {
3854
3909
  "rule": "repeated",
3855
3910
  "type": "DescriptorProto",
@@ -3938,6 +3993,10 @@
3938
3993
  "rule": "repeated",
3939
3994
  "type": "string",
3940
3995
  "id": 10
3996
+ },
3997
+ "visibility": {
3998
+ "type": "SymbolVisibility",
3999
+ "id": 11
3941
4000
  }
3942
4001
  },
3943
4002
  "nested": {
@@ -4163,6 +4222,10 @@
4163
4222
  "rule": "repeated",
4164
4223
  "type": "string",
4165
4224
  "id": 5
4225
+ },
4226
+ "visibility": {
4227
+ "type": "SymbolVisibility",
4228
+ "id": 6
4166
4229
  }
4167
4230
  },
4168
4231
  "nested": {
@@ -4213,7 +4276,14 @@
4213
4276
  "type": "ServiceOptions",
4214
4277
  "id": 3
4215
4278
  }
4216
- }
4279
+ },
4280
+ "reserved": [
4281
+ [
4282
+ 4,
4283
+ 4
4284
+ ],
4285
+ "stream"
4286
+ ]
4217
4287
  },
4218
4288
  "MethodDescriptorProto": {
4219
4289
  "edition": "proto2",
@@ -4377,6 +4447,7 @@
4377
4447
  42,
4378
4448
  42
4379
4449
  ],
4450
+ "php_generic_services",
4380
4451
  [
4381
4452
  38,
4382
4453
  38
@@ -4512,7 +4583,8 @@
4512
4583
  "type": "bool",
4513
4584
  "id": 10,
4514
4585
  "options": {
4515
- "default": false
4586
+ "default": false,
4587
+ "deprecated": true
4516
4588
  }
4517
4589
  },
4518
4590
  "debugRedact": {
@@ -4540,6 +4612,10 @@
4540
4612
  "type": "FeatureSet",
4541
4613
  "id": 21
4542
4614
  },
4615
+ "featureSupport": {
4616
+ "type": "FeatureSupport",
4617
+ "id": 22
4618
+ },
4543
4619
  "uninterpretedOption": {
4544
4620
  "rule": "repeated",
4545
4621
  "type": "UninterpretedOption",
@@ -4609,6 +4685,26 @@
4609
4685
  "id": 2
4610
4686
  }
4611
4687
  }
4688
+ },
4689
+ "FeatureSupport": {
4690
+ "fields": {
4691
+ "editionIntroduced": {
4692
+ "type": "Edition",
4693
+ "id": 1
4694
+ },
4695
+ "editionDeprecated": {
4696
+ "type": "Edition",
4697
+ "id": 2
4698
+ },
4699
+ "deprecationWarning": {
4700
+ "type": "string",
4701
+ "id": 3
4702
+ },
4703
+ "editionRemoved": {
4704
+ "type": "Edition",
4705
+ "id": 4
4706
+ }
4707
+ }
4612
4708
  }
4613
4709
  }
4614
4710
  },
@@ -4697,6 +4793,10 @@
4697
4793
  "default": false
4698
4794
  }
4699
4795
  },
4796
+ "featureSupport": {
4797
+ "type": "FieldOptions.FeatureSupport",
4798
+ "id": 4
4799
+ },
4700
4800
  "uninterpretedOption": {
4701
4801
  "rule": "repeated",
4702
4802
  "type": "UninterpretedOption",
@@ -4839,6 +4939,7 @@
4839
4939
  "options": {
4840
4940
  "retention": "RETENTION_RUNTIME",
4841
4941
  "targets": "TARGET_TYPE_FILE",
4942
+ "feature_support.edition_introduced": "EDITION_2023",
4842
4943
  "edition_defaults.edition": "EDITION_2023",
4843
4944
  "edition_defaults.value": "EXPLICIT"
4844
4945
  }
@@ -4849,6 +4950,7 @@
4849
4950
  "options": {
4850
4951
  "retention": "RETENTION_RUNTIME",
4851
4952
  "targets": "TARGET_TYPE_FILE",
4953
+ "feature_support.edition_introduced": "EDITION_2023",
4852
4954
  "edition_defaults.edition": "EDITION_PROTO3",
4853
4955
  "edition_defaults.value": "OPEN"
4854
4956
  }
@@ -4859,6 +4961,7 @@
4859
4961
  "options": {
4860
4962
  "retention": "RETENTION_RUNTIME",
4861
4963
  "targets": "TARGET_TYPE_FILE",
4964
+ "feature_support.edition_introduced": "EDITION_2023",
4862
4965
  "edition_defaults.edition": "EDITION_PROTO3",
4863
4966
  "edition_defaults.value": "PACKED"
4864
4967
  }
@@ -4869,6 +4972,7 @@
4869
4972
  "options": {
4870
4973
  "retention": "RETENTION_RUNTIME",
4871
4974
  "targets": "TARGET_TYPE_FILE",
4975
+ "feature_support.edition_introduced": "EDITION_2023",
4872
4976
  "edition_defaults.edition": "EDITION_PROTO3",
4873
4977
  "edition_defaults.value": "VERIFY"
4874
4978
  }
@@ -4879,7 +4983,8 @@
4879
4983
  "options": {
4880
4984
  "retention": "RETENTION_RUNTIME",
4881
4985
  "targets": "TARGET_TYPE_FILE",
4882
- "edition_defaults.edition": "EDITION_PROTO2",
4986
+ "feature_support.edition_introduced": "EDITION_2023",
4987
+ "edition_defaults.edition": "EDITION_LEGACY",
4883
4988
  "edition_defaults.value": "LENGTH_PREFIXED"
4884
4989
  }
4885
4990
  },
@@ -4889,27 +4994,38 @@
4889
4994
  "options": {
4890
4995
  "retention": "RETENTION_RUNTIME",
4891
4996
  "targets": "TARGET_TYPE_FILE",
4997
+ "feature_support.edition_introduced": "EDITION_2023",
4892
4998
  "edition_defaults.edition": "EDITION_PROTO3",
4893
4999
  "edition_defaults.value": "ALLOW"
4894
5000
  }
5001
+ },
5002
+ "enforceNamingStyle": {
5003
+ "type": "EnforceNamingStyle",
5004
+ "id": 7,
5005
+ "options": {
5006
+ "retention": "RETENTION_SOURCE",
5007
+ "targets": "TARGET_TYPE_METHOD",
5008
+ "feature_support.edition_introduced": "EDITION_2024",
5009
+ "edition_defaults.edition": "EDITION_2024",
5010
+ "edition_defaults.value": "STYLE2024"
5011
+ }
5012
+ },
5013
+ "defaultSymbolVisibility": {
5014
+ "type": "VisibilityFeature.DefaultSymbolVisibility",
5015
+ "id": 8,
5016
+ "options": {
5017
+ "retention": "RETENTION_SOURCE",
5018
+ "targets": "TARGET_TYPE_FILE",
5019
+ "feature_support.edition_introduced": "EDITION_2024",
5020
+ "edition_defaults.edition": "EDITION_2024",
5021
+ "edition_defaults.value": "EXPORT_TOP_LEVEL"
5022
+ }
4895
5023
  }
4896
5024
  },
4897
5025
  "extensions": [
4898
5026
  [
4899
5027
  1000,
4900
- 1000
4901
- ],
4902
- [
4903
- 1001,
4904
- 1001
4905
- ],
4906
- [
4907
- 1002,
4908
- 1002
4909
- ],
4910
- [
4911
- 9990,
4912
- 9990
5028
+ 9994
4913
5029
  ],
4914
5030
  [
4915
5031
  9995,
@@ -4954,7 +5070,13 @@
4954
5070
  "UTF8_VALIDATION_UNKNOWN": 0,
4955
5071
  "VERIFY": 2,
4956
5072
  "NONE": 3
4957
- }
5073
+ },
5074
+ "reserved": [
5075
+ [
5076
+ 1,
5077
+ 1
5078
+ ]
5079
+ ]
4958
5080
  },
4959
5081
  "MessageEncoding": {
4960
5082
  "values": {
@@ -4969,6 +5091,33 @@
4969
5091
  "ALLOW": 1,
4970
5092
  "LEGACY_BEST_EFFORT": 2
4971
5093
  }
5094
+ },
5095
+ "EnforceNamingStyle": {
5096
+ "values": {
5097
+ "ENFORCE_NAMING_STYLE_UNKNOWN": 0,
5098
+ "STYLE2024": 1,
5099
+ "STYLE_LEGACY": 2
5100
+ }
5101
+ },
5102
+ "VisibilityFeature": {
5103
+ "fields": {},
5104
+ "reserved": [
5105
+ [
5106
+ 1,
5107
+ 536870911
5108
+ ]
5109
+ ],
5110
+ "nested": {
5111
+ "DefaultSymbolVisibility": {
5112
+ "values": {
5113
+ "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": 0,
5114
+ "EXPORT_ALL": 1,
5115
+ "EXPORT_TOP_LEVEL": 2,
5116
+ "LOCAL_ALL": 3,
5117
+ "STRICT": 4
5118
+ }
5119
+ }
5120
+ }
4972
5121
  }
4973
5122
  }
4974
5123
  },
@@ -4996,11 +5145,26 @@
4996
5145
  "type": "Edition",
4997
5146
  "id": 3
4998
5147
  },
4999
- "features": {
5148
+ "overridableFeatures": {
5000
5149
  "type": "FeatureSet",
5001
- "id": 2
5150
+ "id": 4
5151
+ },
5152
+ "fixedFeatures": {
5153
+ "type": "FeatureSet",
5154
+ "id": 5
5002
5155
  }
5003
- }
5156
+ },
5157
+ "reserved": [
5158
+ [
5159
+ 1,
5160
+ 1
5161
+ ],
5162
+ [
5163
+ 2,
5164
+ 2
5165
+ ],
5166
+ "features"
5167
+ ]
5004
5168
  }
5005
5169
  }
5006
5170
  },
@@ -5013,6 +5177,12 @@
5013
5177
  "id": 1
5014
5178
  }
5015
5179
  },
5180
+ "extensions": [
5181
+ [
5182
+ 536000000,
5183
+ 536000000
5184
+ ]
5185
+ ],
5016
5186
  "nested": {
5017
5187
  "Location": {
5018
5188
  "fields": {
@@ -5098,6 +5268,14 @@
5098
5268
  }
5099
5269
  }
5100
5270
  },
5271
+ "SymbolVisibility": {
5272
+ "edition": "proto2",
5273
+ "values": {
5274
+ "VISIBILITY_UNSET": 0,
5275
+ "VISIBILITY_LOCAL": 1,
5276
+ "VISIBILITY_EXPORT": 2
5277
+ }
5278
+ },
5101
5279
  "Duration": {
5102
5280
  "fields": {
5103
5281
  "seconds": {
@@ -36,8 +36,8 @@ class ExponentialRetry {
36
36
  _maxBackoffMs;
37
37
  _timer;
38
38
  constructor(backoff, maxBackoff) {
39
- this._backoffMs = backoff.totalOf('millisecond');
40
- this._maxBackoffMs = maxBackoff.totalOf('millisecond');
39
+ this._backoffMs = backoff.milliseconds;
40
+ this._maxBackoffMs = maxBackoff.milliseconds;
41
41
  }
42
42
  /**
43
43
  * Shut down all operations/timers/etc and return a list of
@@ -118,7 +118,7 @@ class ExponentialRetry {
118
118
  // Within 10msec is close enough.
119
119
  if (next.retryInfo.nextRetry - now < 10) {
120
120
  this._items.pop();
121
- next.retryInfo.callback(next, temporal_1.Duration.from({ millis: now - next.retryInfo.firstRetry }));
121
+ next.retryInfo.callback(next, temporal_1.Duration.from({ milliseconds: now - next.retryInfo.firstRetry }));
122
122
  }
123
123
  else {
124
124
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"exponential-retry.js","sourceRoot":"","sources":["../../src/exponential-retry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exponential-retry.js","sourceRoot":"","sources":["../../src/exponential-retry.ts"],"names":[],"mappings":"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"}
@@ -92,7 +92,7 @@ export { PageOptions, GetSnapshotsCallback, GetSnapshotsResponse, GetSubscriptio
92
92
  export { CreateSnapshotCallback, CreateSnapshotResponse, SeekCallback, SeekResponse, Snapshot, } from './snapshot';
93
93
  export { Message, StatusError, SubscriberOptions } from './subscriber';
94
94
  export { Schema, CreateSchemaResponse, ISchema, SchemaType, SchemaTypes, ICreateSchemaRequest, SchemaEncoding, SchemaView, SchemaViews, Encodings, SchemaMessageMetadata, } from './schema';
95
- export { PushConfig, SubscriptionMetadata, SubscriptionOptions, SubscriptionCloseCallback, CreateSubscriptionOptions, CreateSubscriptionCallback, CreateSubscriptionResponse, GetSubscriptionOptions, GetSubscriptionCallback, GetSubscriptionResponse, GetSubscriptionMetadataCallback, GetSubscriptionMetadataResponse, SetSubscriptionMetadataCallback, SetSubscriptionMetadataResponse, Subscription, AckError, AckResponse, AckResponses, } from './subscription';
95
+ export { PushConfig, SubscriptionMetadata, SubscriptionOptions, SubscriptionCloseCallback, SubscriptionCloseOptions, SubscriptionCloseBehaviors, CreateSubscriptionOptions, CreateSubscriptionCallback, CreateSubscriptionResponse, GetSubscriptionOptions, GetSubscriptionCallback, GetSubscriptionResponse, GetSubscriptionMetadataCallback, GetSubscriptionMetadataResponse, SetSubscriptionMetadataCallback, SetSubscriptionMetadataResponse, Subscription, AckError, AckResponse, AckResponses, } from './subscription';
96
96
  export { CreateTopicCallback, CreateTopicResponse, GetTopicCallback, GetTopicResponse, GetTopicOptions, GetTopicMetadataCallback, GetTopicMetadataResponse, GetTopicSubscriptionsCallback, GetTopicSubscriptionsResponse, SetTopicMetadataCallback, SetTopicMetadataResponse, Topic, TopicMetadata, } from './topic';
97
97
  export { Duration, TotalOfUnit, DurationLike } from './temporal';
98
98
  export { DebugMessage } from './debug';
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.protos = exports.DebugMessage = exports.Duration = exports.Topic = exports.AckResponses = exports.AckError = exports.Subscription = exports.Encodings = exports.SchemaViews = exports.SchemaTypes = exports.Schema = exports.StatusError = exports.Message = exports.Snapshot = exports.PubSub = exports.PublishError = exports.IAM = exports.v1 = void 0;
18
+ exports.protos = exports.DebugMessage = exports.Duration = exports.Topic = exports.AckResponses = exports.AckError = exports.Subscription = exports.SubscriptionCloseBehaviors = exports.Encodings = exports.SchemaViews = exports.SchemaTypes = exports.Schema = exports.StatusError = exports.Message = exports.Snapshot = exports.PubSub = exports.PublishError = exports.IAM = exports.v1 = void 0;
19
19
  /**
20
20
  * @namespace google.pubsub.v1
21
21
  */
@@ -102,6 +102,7 @@ Object.defineProperty(exports, "SchemaTypes", { enumerable: true, get: function
102
102
  Object.defineProperty(exports, "SchemaViews", { enumerable: true, get: function () { return schema_1.SchemaViews; } });
103
103
  Object.defineProperty(exports, "Encodings", { enumerable: true, get: function () { return schema_1.Encodings; } });
104
104
  var subscription_1 = require("./subscription");
105
+ Object.defineProperty(exports, "SubscriptionCloseBehaviors", { enumerable: true, get: function () { return subscription_1.SubscriptionCloseBehaviors; } });
105
106
  Object.defineProperty(exports, "Subscription", { enumerable: true, get: function () { return subscription_1.Subscription; } });
106
107
  Object.defineProperty(exports, "AckError", { enumerable: true, get: function () { return subscription_1.AckError; } });
107
108
  Object.defineProperty(exports, "AckResponses", { enumerable: true, get: function () { return subscription_1.AckResponses; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH;;GAEG;AACH;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;GAWG;AACH,2BAA2B;AACnB,gBAAE;AAEV,6BAUe;AADb,0FAAA,GAAG,OAAA;AAIL,2DAAuD;AAA/C,6GAAA,YAAY,OAAA;AAEpB,mCAckB;AAFhB,gGAAA,MAAM,OAAA;AAGR,uCAMoB;AADlB,oGAAA,QAAQ,OAAA;AAEV,2CAAqE;AAA7D,qGAAA,OAAO,OAAA;AAAE,yGAAA,WAAW,OAAA;AAC5B,mCAYkB;AAXhB,gGAAA,MAAM,OAAA;AAIN,qGAAA,WAAW,OAAA;AAIX,qGAAA,WAAW,OAAA;AACX,mGAAA,SAAS,OAAA;AAGX,+CAmBwB;AAJtB,4GAAA,YAAY,OAAA;AACZ,wGAAA,QAAQ,OAAA;AAER,4GAAA,YAAY,OAAA;AAEd,iCAciB;AAFf,8FAAA,KAAK,OAAA;AAGP,uCAA+D;AAAvD,oGAAA,QAAQ,OAAA;AAChB,iCAAqC;AAA7B,qGAAA,YAAY,OAAA;AAEpB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;IACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AACD,2CAA2C;AACnC,wBAAM"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH;;GAEG;AACH;;GAEG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;GAWG;AACH,2BAA2B;AACnB,gBAAE;AAEV,6BAUe;AADb,0FAAA,GAAG,OAAA;AAIL,2DAAuD;AAA/C,6GAAA,YAAY,OAAA;AAEpB,mCAckB;AAFhB,gGAAA,MAAM,OAAA;AAGR,uCAMoB;AADlB,oGAAA,QAAQ,OAAA;AAEV,2CAAqE;AAA7D,qGAAA,OAAO,OAAA;AAAE,yGAAA,WAAW,OAAA;AAC5B,mCAYkB;AAXhB,gGAAA,MAAM,OAAA;AAIN,qGAAA,WAAW,OAAA;AAIX,qGAAA,WAAW,OAAA;AACX,mGAAA,SAAS,OAAA;AAGX,+CAqBwB;AAftB,0HAAA,0BAA0B,OAAA;AAW1B,4GAAA,YAAY,OAAA;AACZ,wGAAA,QAAQ,OAAA;AAER,4GAAA,YAAY,OAAA;AAEd,iCAciB;AAFf,8FAAA,KAAK,OAAA;AAGP,uCAA+D;AAAvD,oGAAA,QAAQ,OAAA;AAChB,iCAAqC;AAA7B,qGAAA,YAAY,OAAA;AAEpB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;IACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACxB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AACD,2CAA2C;AACnC,wBAAM"}
@@ -15,6 +15,17 @@
15
15
  */
16
16
  import { EventEmitter } from 'events';
17
17
  import { Message, Subscriber } from './subscriber';
18
+ /**
19
+ * Loggers. Exported for unit tests.
20
+ *
21
+ * @private
22
+ */
23
+ export declare const logs: {
24
+ callbackDelivery: import("google-logging-utils").AdhocDebugLogFunction;
25
+ callbackExceptions: import("google-logging-utils").AdhocDebugLogFunction;
26
+ expiry: import("google-logging-utils").AdhocDebugLogFunction;
27
+ subscriberFlowControl: import("google-logging-utils").AdhocDebugLogFunction;
28
+ };
18
29
  export interface FlowControlOptions {
19
30
  allowExcessMessages?: boolean;
20
31
  maxBytes?: number;
@@ -88,6 +99,13 @@ export declare class LeaseManager extends EventEmitter {
88
99
  * @private
89
100
  */
90
101
  isFull(): boolean;
102
+ /**
103
+ * True if we have no messages in leasing.
104
+ *
105
+ * @returns {boolean}
106
+ * @private
107
+ */
108
+ isEmpty(): boolean;
91
109
  /**
92
110
  * Removes a message from the inventory. Stopping the deadline extender if no
93
111
  * messages are left over.
@@ -15,10 +15,23 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.LeaseManager = void 0;
18
+ exports.LeaseManager = exports.logs = void 0;
19
19
  const events_1 = require("events");
20
20
  const default_options_1 = require("./default-options");
21
21
  const temporal_1 = require("./temporal");
22
+ const debug_1 = require("./debug");
23
+ const logs_1 = require("./logs");
24
+ /**
25
+ * Loggers. Exported for unit tests.
26
+ *
27
+ * @private
28
+ */
29
+ exports.logs = {
30
+ callbackDelivery: logs_1.logs.pubsub.sublog('callback-delivery'),
31
+ callbackExceptions: logs_1.logs.pubsub.sublog('callback-exceptions'),
32
+ expiry: logs_1.logs.pubsub.sublog('expiry'),
33
+ subscriberFlowControl: logs_1.logs.pubsub.sublog('subscriber-flow-control'),
34
+ };
22
35
  /**
23
36
  * @typedef {object} FlowControlOptions
24
37
  * @property {boolean} [allowExcessMessages=true] PubSub delivers messages in
@@ -96,6 +109,9 @@ class LeaseManager extends events_1.EventEmitter {
96
109
  this._dispense(message);
97
110
  }
98
111
  else {
112
+ if (this.pending === 0) {
113
+ exports.logs.subscriberFlowControl.info('subscriber for %s is client-side flow blocked', this._subscriber.name);
114
+ }
99
115
  this._pending.push(message);
100
116
  }
101
117
  if (!this._isLeasing) {
@@ -112,6 +128,10 @@ class LeaseManager extends events_1.EventEmitter {
112
128
  */
113
129
  clear() {
114
130
  const wasFull = this.isFull();
131
+ const wasEmpty = this.isEmpty();
132
+ if (this.pending > 0) {
133
+ exports.logs.subscriberFlowControl.info('subscriber for %s is unblocking client-side flow due to clear()', this._subscriber.name);
134
+ }
115
135
  this._pending = [];
116
136
  const remaining = Array.from(this._messages);
117
137
  this._messages.clear();
@@ -119,6 +139,9 @@ class LeaseManager extends events_1.EventEmitter {
119
139
  if (wasFull) {
120
140
  process.nextTick(() => this.emit('free'));
121
141
  }
142
+ if (!wasEmpty && this.isEmpty()) {
143
+ process.nextTick(() => this.emit('empty'));
144
+ }
122
145
  this._cancelExtension();
123
146
  return remaining;
124
147
  }
@@ -132,6 +155,15 @@ class LeaseManager extends events_1.EventEmitter {
132
155
  const { maxBytes, maxMessages } = this._options;
133
156
  return this.size >= maxMessages || this.bytes >= maxBytes;
134
157
  }
158
+ /**
159
+ * True if we have no messages in leasing.
160
+ *
161
+ * @returns {boolean}
162
+ * @private
163
+ */
164
+ isEmpty() {
165
+ return this._messages.size === 0;
166
+ }
135
167
  /**
136
168
  * Removes a message from the inventory. Stopping the deadline extender if no
137
169
  * messages are left over.
@@ -156,8 +188,17 @@ class LeaseManager extends events_1.EventEmitter {
156
188
  this._pending.splice(index, 1);
157
189
  }
158
190
  else if (this.pending > 0) {
191
+ if (this.pending > 1) {
192
+ exports.logs.subscriberFlowControl.info('subscriber for %s dispensing one blocked message', this._subscriber.name);
193
+ }
194
+ else {
195
+ exports.logs.subscriberFlowControl.info('subscriber for %s fully unblocked on client-side flow control', this._subscriber.name);
196
+ }
159
197
  this._dispense(this._pending.shift());
160
198
  }
199
+ if (this.isEmpty()) {
200
+ this.emit('empty');
201
+ }
161
202
  if (this.size === 0 && this._isLeasing) {
162
203
  this._cancelExtension();
163
204
  }
@@ -205,8 +246,16 @@ class LeaseManager extends events_1.EventEmitter {
205
246
  if (this._subscriber.isOpen) {
206
247
  message.subSpans.flowEnd();
207
248
  process.nextTick(() => {
249
+ message.dispatched();
250
+ exports.logs.callbackDelivery.info('message (ID %s, ackID %s) delivery to user callbacks', message.id, message.ackId);
208
251
  message.subSpans.processingStart(this._subscriber.name);
209
- this._subscriber.emit('message', message);
252
+ try {
253
+ this._subscriber.emit('message', message);
254
+ }
255
+ catch (e) {
256
+ exports.logs.callbackExceptions.error('message (ID %s, ackID %s) caused a user callback exception: %o', message.id, message.ackId, e);
257
+ this._subscriber.emit('debug', new debug_1.DebugMessage('error during user callback', e));
258
+ }
210
259
  });
211
260
  }
212
261
  }
@@ -243,6 +292,7 @@ class LeaseManager extends events_1.EventEmitter {
243
292
  }
244
293
  }
245
294
  else {
295
+ exports.logs.expiry.warn('message (ID %s, ackID %s) has been dropped from leasing due to a timeout', message.id, message.ackId);
246
296
  this.remove(message);
247
297
  }
248
298
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lease-manager.js","sourceRoot":"","sources":["../../src/lease-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lease-manager.js","sourceRoot":"","sources":["../../src/lease-manager.ts"],"names":[],"mappings":"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"}