tigerbeetle-node 0.11.7 → 0.11.8

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.
@@ -1 +1 @@
1
- 47b1ff2fdba97cebd987a6012cd302a640a6f0710645f4e3dfd0d3570c2686f9 dist/client.node
1
+ c82197101574fc1267be050abfa7d31ca355036eec3f7d3da9a43a6c83bf6b0c dist/client.node
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tigerbeetle-node",
3
- "version": "0.11.7",
3
+ "version": "0.11.8",
4
4
  "description": "TigerBeetle Node.js client",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -29,7 +29,8 @@ pub fn Client(comptime StateMachine_: type, comptime MessageBus: type) type {
29
29
  results: Error![]const u8,
30
30
  ) void;
31
31
  user_data: u128,
32
- callback: Callback,
32
+ // Null iff operation=register.
33
+ callback: ?Callback,
33
34
  message: *Message,
34
35
  };
35
36
 
@@ -194,6 +195,7 @@ pub fn Client(comptime StateMachine_: type, comptime MessageBus: type) type {
194
195
  message_body_size: usize,
195
196
  ) void {
196
197
  self.register();
198
+ assert(self.request_number > 0);
197
199
 
198
200
  // We will set parent, context, view and checksums only when sending for the first time:
199
201
  message.header.* = .{
@@ -205,9 +207,6 @@ pub fn Client(comptime StateMachine_: type, comptime MessageBus: type) type {
205
207
  .size = @intCast(u32, @sizeOf(Header) + message_body_size),
206
208
  };
207
209
 
208
- assert(self.request_number > 0);
209
- self.request_number += 1;
210
-
211
210
  log.debug("{}: request: user_data={} request={} size={} {s}", .{
212
211
  self.id,
213
212
  user_data,
@@ -223,6 +222,7 @@ pub fn Client(comptime StateMachine_: type, comptime MessageBus: type) type {
223
222
 
224
223
  const was_empty = self.request_queue.empty();
225
224
 
225
+ self.request_number += 1;
226
226
  self.request_queue.push_assume_capacity(.{
227
227
  .user_data = user_data,
228
228
  .callback = callback,
@@ -370,12 +370,16 @@ pub fn Client(comptime StateMachine_: type, comptime MessageBus: type) type {
370
370
  on_reply_callback(self.on_reply_context, self, inflight.message, reply);
371
371
  }
372
372
 
373
- if (inflight.message.header.operation != .register) {
374
- inflight.callback(
373
+ if (inflight.callback) |callback| {
374
+ assert(inflight.message.header.operation != .register);
375
+
376
+ callback(
375
377
  inflight.user_data,
376
378
  inflight.message.header.operation.cast(StateMachine),
377
379
  reply.body(),
378
380
  );
381
+ } else {
382
+ assert(inflight.message.header.operation == .register);
379
383
  }
380
384
  }
381
385
 
@@ -455,7 +459,7 @@ pub fn Client(comptime StateMachine_: type, comptime MessageBus: type) type {
455
459
 
456
460
  self.request_queue.push_assume_capacity(.{
457
461
  .user_data = 0,
458
- .callback = undefined,
462
+ .callback = null,
459
463
  .message = message.ref(),
460
464
  });
461
465