tigerbeetle 0.17.8 → 0.17.9
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.
- checksums.yaml +4 -4
- data/README.md +3 -1
- data/sig/tigerbeetle.rbs +101 -0
- data/src/ext/tigerbeetle/lib/aarch64-linux-gnu.2.27/libtb_client.so +0 -0
- data/src/ext/tigerbeetle/lib/aarch64-linux-musl/libtb_client.so +0 -0
- data/src/ext/tigerbeetle/lib/aarch64-macos/libtb_client.dylib +0 -0
- data/src/ext/tigerbeetle/lib/x86_64-linux-gnu.2.27/libtb_client.so +0 -0
- data/src/ext/tigerbeetle/lib/x86_64-linux-musl/libtb_client.so +0 -0
- data/src/ext/tigerbeetle/lib/x86_64-macos/libtb_client.dylib +0 -0
- data/src/ext/tigerbeetle/lib/x86_64-windows/tb_client.dll +0 -0
- data/src/ext/tigerbeetle/rb_tb_gen.h +301 -82
- data/src/ext/tigerbeetle/tigerbeetle.c +7 -7
- data/src/tigerbeetle/bindings.rb +8 -0
- data/src/tigerbeetle/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 43f442704bc340264a0e59ae73e1d877f3c4a213f42c2d06fc6f30c419831cea
|
|
4
|
+
data.tar.gz: 5c76d2fb2c3f608e43743e3071202040f542f6cb906d1ad9ff1baab5c8bda1ec
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5604eb11cfa72d5fa1237f0e11abf0f0b7f9512a8408d227ba273718cafbf0cba7af950a3bf7a042957074f1f18f1ba106ac6304966d114ccb718d2dac38d5a3
|
|
7
|
+
data.tar.gz: 0d825674cf6047888820446b4b3046ddbe20eb01f7c03dc54d41b246e1fa1e6ab9cac4a66126b4cc69e2a128c010f85f1f0ce93d1ebfed527c1cc9053aae0ced
|
data/README.md
CHANGED
|
@@ -6,7 +6,9 @@ The TigerBeetle client for Ruby.
|
|
|
6
6
|
>[!IMPORTANT]
|
|
7
7
|
>This gem changed ownership from [Anthony D](https://github.com/antstorm)
|
|
8
8
|
to TigerBeetle. If you're upgrading from a 0.0.x version, please consult
|
|
9
|
-
the [migration guide](
|
|
9
|
+
the [migration guide](
|
|
10
|
+
https://github.com/tigerbeetle/tigerbeetle/blob/main/src/clients/ruby/docs/migration.md
|
|
11
|
+
) for the necessary code changes.
|
|
10
12
|
|
|
11
13
|
## Prerequisites
|
|
12
14
|
|
data/sig/tigerbeetle.rbs
CHANGED
|
@@ -254,9 +254,109 @@ module TigerBeetle
|
|
|
254
254
|
def initialize: () -> void
|
|
255
255
|
end
|
|
256
256
|
|
|
257
|
+
type create_account_status_name =
|
|
258
|
+
:created
|
|
259
|
+
| :linked_event_failed
|
|
260
|
+
| :linked_event_chain_open
|
|
261
|
+
| :imported_event_expected
|
|
262
|
+
| :imported_event_not_expected
|
|
263
|
+
| :timestamp_must_be_zero
|
|
264
|
+
| :imported_event_timestamp_out_of_range
|
|
265
|
+
| :imported_event_timestamp_must_not_advance
|
|
266
|
+
| :reserved_field
|
|
267
|
+
| :reserved_flag
|
|
268
|
+
| :id_must_not_be_zero
|
|
269
|
+
| :id_must_not_be_int_max
|
|
270
|
+
| :exists_with_different_flags
|
|
271
|
+
| :exists_with_different_user_data_128
|
|
272
|
+
| :exists_with_different_user_data_64
|
|
273
|
+
| :exists_with_different_user_data_32
|
|
274
|
+
| :exists_with_different_ledger
|
|
275
|
+
| :exists_with_different_code
|
|
276
|
+
| :exists
|
|
277
|
+
| :flags_are_mutually_exclusive
|
|
278
|
+
| :debits_pending_must_be_zero
|
|
279
|
+
| :debits_posted_must_be_zero
|
|
280
|
+
| :credits_pending_must_be_zero
|
|
281
|
+
| :credits_posted_must_be_zero
|
|
282
|
+
| :ledger_must_not_be_zero
|
|
283
|
+
| :code_must_not_be_zero
|
|
284
|
+
| :imported_event_timestamp_must_not_regress
|
|
285
|
+
|
|
286
|
+
type create_transfer_status_name =
|
|
287
|
+
:created
|
|
288
|
+
| :linked_event_failed
|
|
289
|
+
| :linked_event_chain_open
|
|
290
|
+
| :imported_event_expected
|
|
291
|
+
| :imported_event_not_expected
|
|
292
|
+
| :timestamp_must_be_zero
|
|
293
|
+
| :imported_event_timestamp_out_of_range
|
|
294
|
+
| :imported_event_timestamp_must_not_advance
|
|
295
|
+
| :reserved_flag
|
|
296
|
+
| :id_must_not_be_zero
|
|
297
|
+
| :id_must_not_be_int_max
|
|
298
|
+
| :exists_with_different_flags
|
|
299
|
+
| :exists_with_different_pending_id
|
|
300
|
+
| :exists_with_different_timeout
|
|
301
|
+
| :exists_with_different_debit_account_id
|
|
302
|
+
| :exists_with_different_credit_account_id
|
|
303
|
+
| :exists_with_different_amount
|
|
304
|
+
| :exists_with_different_user_data_128
|
|
305
|
+
| :exists_with_different_user_data_64
|
|
306
|
+
| :exists_with_different_user_data_32
|
|
307
|
+
| :exists_with_different_ledger
|
|
308
|
+
| :exists_with_different_code
|
|
309
|
+
| :exists
|
|
310
|
+
| :id_already_failed
|
|
311
|
+
| :flags_are_mutually_exclusive
|
|
312
|
+
| :debit_account_id_must_not_be_zero
|
|
313
|
+
| :debit_account_id_must_not_be_int_max
|
|
314
|
+
| :credit_account_id_must_not_be_zero
|
|
315
|
+
| :credit_account_id_must_not_be_int_max
|
|
316
|
+
| :accounts_must_be_different
|
|
317
|
+
| :pending_id_must_be_zero
|
|
318
|
+
| :pending_id_must_not_be_zero
|
|
319
|
+
| :pending_id_must_not_be_int_max
|
|
320
|
+
| :pending_id_must_be_different
|
|
321
|
+
| :timeout_reserved_for_pending_transfer
|
|
322
|
+
| :closing_transfer_must_be_pending
|
|
323
|
+
| :ledger_must_not_be_zero
|
|
324
|
+
| :code_must_not_be_zero
|
|
325
|
+
| :debit_account_not_found
|
|
326
|
+
| :credit_account_not_found
|
|
327
|
+
| :accounts_must_have_the_same_ledger
|
|
328
|
+
| :transfer_must_have_the_same_ledger_as_accounts
|
|
329
|
+
| :pending_transfer_not_found
|
|
330
|
+
| :pending_transfer_not_pending
|
|
331
|
+
| :pending_transfer_has_different_debit_account_id
|
|
332
|
+
| :pending_transfer_has_different_credit_account_id
|
|
333
|
+
| :pending_transfer_has_different_ledger
|
|
334
|
+
| :pending_transfer_has_different_code
|
|
335
|
+
| :exceeds_pending_transfer_amount
|
|
336
|
+
| :pending_transfer_has_different_amount
|
|
337
|
+
| :pending_transfer_already_posted
|
|
338
|
+
| :pending_transfer_already_voided
|
|
339
|
+
| :pending_transfer_expired
|
|
340
|
+
| :imported_event_timestamp_must_not_regress
|
|
341
|
+
| :imported_event_timestamp_must_postdate_debit_account
|
|
342
|
+
| :imported_event_timestamp_must_postdate_credit_account
|
|
343
|
+
| :imported_event_timeout_must_be_zero
|
|
344
|
+
| :debit_account_already_closed
|
|
345
|
+
| :credit_account_already_closed
|
|
346
|
+
| :overflows_debits_pending
|
|
347
|
+
| :overflows_credits_pending
|
|
348
|
+
| :overflows_debits_posted
|
|
349
|
+
| :overflows_credits_posted
|
|
350
|
+
| :overflows_debits
|
|
351
|
+
| :overflows_credits
|
|
352
|
+
| :overflows_timeout
|
|
353
|
+
| :exceeds_credits
|
|
354
|
+
| :exceeds_debits
|
|
355
|
+
|
|
257
356
|
class CreateAccountResult
|
|
258
357
|
attr_reader timestamp: Integer
|
|
259
358
|
attr_reader status: Integer
|
|
359
|
+
attr_reader status_name: create_account_status_name
|
|
260
360
|
|
|
261
361
|
def initialize: () -> void
|
|
262
362
|
end
|
|
@@ -264,6 +364,7 @@ module TigerBeetle
|
|
|
264
364
|
class CreateTransferResult
|
|
265
365
|
attr_reader timestamp: Integer
|
|
266
366
|
attr_reader status: Integer
|
|
367
|
+
attr_reader status_name: create_transfer_status_name
|
|
267
368
|
|
|
268
369
|
def initialize: () -> void
|
|
269
370
|
end
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -14,7 +14,10 @@
|
|
|
14
14
|
#include <string.h>
|
|
15
15
|
|
|
16
16
|
static inline void rb_tb_pack_u128(VALUE v, void *dst) {
|
|
17
|
-
rb_integer_pack(v, dst, 16, 1, 0, INTEGER_PACK_LITTLE_ENDIAN);
|
|
17
|
+
int status = rb_integer_pack(v, dst, 16, 1, 0, INTEGER_PACK_LITTLE_ENDIAN);
|
|
18
|
+
if (status != 0 && status != 1) {
|
|
19
|
+
rb_raise(rb_eRangeError, "integer must be between 0 and 2**128 - 1");
|
|
20
|
+
}
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
static inline VALUE rb_tb_unpack_u128(const void *src) {
|
|
@@ -58,6 +61,212 @@ static const char *rb_tb_init_error_message(TB_INIT_STATUS status) {
|
|
|
58
61
|
}
|
|
59
62
|
}
|
|
60
63
|
|
|
64
|
+
static VALUE rb_tb_create_accounts_status_name(uint32_t status) {
|
|
65
|
+
switch (status) {
|
|
66
|
+
case 4294967295:
|
|
67
|
+
return ID2SYM(rb_intern("created"));
|
|
68
|
+
case 1:
|
|
69
|
+
return ID2SYM(rb_intern("linked_event_failed"));
|
|
70
|
+
case 2:
|
|
71
|
+
return ID2SYM(rb_intern("linked_event_chain_open"));
|
|
72
|
+
case 22:
|
|
73
|
+
return ID2SYM(rb_intern("imported_event_expected"));
|
|
74
|
+
case 23:
|
|
75
|
+
return ID2SYM(rb_intern("imported_event_not_expected"));
|
|
76
|
+
case 3:
|
|
77
|
+
return ID2SYM(rb_intern("timestamp_must_be_zero"));
|
|
78
|
+
case 24:
|
|
79
|
+
return ID2SYM(rb_intern("imported_event_timestamp_out_of_range"));
|
|
80
|
+
case 25:
|
|
81
|
+
return ID2SYM(rb_intern("imported_event_timestamp_must_not_advance"));
|
|
82
|
+
case 4:
|
|
83
|
+
return ID2SYM(rb_intern("reserved_field"));
|
|
84
|
+
case 5:
|
|
85
|
+
return ID2SYM(rb_intern("reserved_flag"));
|
|
86
|
+
case 6:
|
|
87
|
+
return ID2SYM(rb_intern("id_must_not_be_zero"));
|
|
88
|
+
case 7:
|
|
89
|
+
return ID2SYM(rb_intern("id_must_not_be_int_max"));
|
|
90
|
+
case 15:
|
|
91
|
+
return ID2SYM(rb_intern("exists_with_different_flags"));
|
|
92
|
+
case 16:
|
|
93
|
+
return ID2SYM(rb_intern("exists_with_different_user_data_128"));
|
|
94
|
+
case 17:
|
|
95
|
+
return ID2SYM(rb_intern("exists_with_different_user_data_64"));
|
|
96
|
+
case 18:
|
|
97
|
+
return ID2SYM(rb_intern("exists_with_different_user_data_32"));
|
|
98
|
+
case 19:
|
|
99
|
+
return ID2SYM(rb_intern("exists_with_different_ledger"));
|
|
100
|
+
case 20:
|
|
101
|
+
return ID2SYM(rb_intern("exists_with_different_code"));
|
|
102
|
+
case 21:
|
|
103
|
+
return ID2SYM(rb_intern("exists"));
|
|
104
|
+
case 8:
|
|
105
|
+
return ID2SYM(rb_intern("flags_are_mutually_exclusive"));
|
|
106
|
+
case 9:
|
|
107
|
+
return ID2SYM(rb_intern("debits_pending_must_be_zero"));
|
|
108
|
+
case 10:
|
|
109
|
+
return ID2SYM(rb_intern("debits_posted_must_be_zero"));
|
|
110
|
+
case 11:
|
|
111
|
+
return ID2SYM(rb_intern("credits_pending_must_be_zero"));
|
|
112
|
+
case 12:
|
|
113
|
+
return ID2SYM(rb_intern("credits_posted_must_be_zero"));
|
|
114
|
+
case 13:
|
|
115
|
+
return ID2SYM(rb_intern("ledger_must_not_be_zero"));
|
|
116
|
+
case 14:
|
|
117
|
+
return ID2SYM(rb_intern("code_must_not_be_zero"));
|
|
118
|
+
case 26:
|
|
119
|
+
return ID2SYM(rb_intern("imported_event_timestamp_must_not_regress"));
|
|
120
|
+
default:
|
|
121
|
+
tb_assert(false);
|
|
122
|
+
return Qnil;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
static VALUE rb_tb_create_transfers_status_name(uint32_t status) {
|
|
127
|
+
switch (status) {
|
|
128
|
+
case 4294967295:
|
|
129
|
+
return ID2SYM(rb_intern("created"));
|
|
130
|
+
case 1:
|
|
131
|
+
return ID2SYM(rb_intern("linked_event_failed"));
|
|
132
|
+
case 2:
|
|
133
|
+
return ID2SYM(rb_intern("linked_event_chain_open"));
|
|
134
|
+
case 56:
|
|
135
|
+
return ID2SYM(rb_intern("imported_event_expected"));
|
|
136
|
+
case 57:
|
|
137
|
+
return ID2SYM(rb_intern("imported_event_not_expected"));
|
|
138
|
+
case 3:
|
|
139
|
+
return ID2SYM(rb_intern("timestamp_must_be_zero"));
|
|
140
|
+
case 58:
|
|
141
|
+
return ID2SYM(rb_intern("imported_event_timestamp_out_of_range"));
|
|
142
|
+
case 59:
|
|
143
|
+
return ID2SYM(rb_intern("imported_event_timestamp_must_not_advance"));
|
|
144
|
+
case 4:
|
|
145
|
+
return ID2SYM(rb_intern("reserved_flag"));
|
|
146
|
+
case 5:
|
|
147
|
+
return ID2SYM(rb_intern("id_must_not_be_zero"));
|
|
148
|
+
case 6:
|
|
149
|
+
return ID2SYM(rb_intern("id_must_not_be_int_max"));
|
|
150
|
+
case 36:
|
|
151
|
+
return ID2SYM(rb_intern("exists_with_different_flags"));
|
|
152
|
+
case 40:
|
|
153
|
+
return ID2SYM(rb_intern("exists_with_different_pending_id"));
|
|
154
|
+
case 44:
|
|
155
|
+
return ID2SYM(rb_intern("exists_with_different_timeout"));
|
|
156
|
+
case 37:
|
|
157
|
+
return ID2SYM(rb_intern("exists_with_different_debit_account_id"));
|
|
158
|
+
case 38:
|
|
159
|
+
return ID2SYM(rb_intern("exists_with_different_credit_account_id"));
|
|
160
|
+
case 39:
|
|
161
|
+
return ID2SYM(rb_intern("exists_with_different_amount"));
|
|
162
|
+
case 41:
|
|
163
|
+
return ID2SYM(rb_intern("exists_with_different_user_data_128"));
|
|
164
|
+
case 42:
|
|
165
|
+
return ID2SYM(rb_intern("exists_with_different_user_data_64"));
|
|
166
|
+
case 43:
|
|
167
|
+
return ID2SYM(rb_intern("exists_with_different_user_data_32"));
|
|
168
|
+
case 67:
|
|
169
|
+
return ID2SYM(rb_intern("exists_with_different_ledger"));
|
|
170
|
+
case 45:
|
|
171
|
+
return ID2SYM(rb_intern("exists_with_different_code"));
|
|
172
|
+
case 46:
|
|
173
|
+
return ID2SYM(rb_intern("exists"));
|
|
174
|
+
case 68:
|
|
175
|
+
return ID2SYM(rb_intern("id_already_failed"));
|
|
176
|
+
case 7:
|
|
177
|
+
return ID2SYM(rb_intern("flags_are_mutually_exclusive"));
|
|
178
|
+
case 8:
|
|
179
|
+
return ID2SYM(rb_intern("debit_account_id_must_not_be_zero"));
|
|
180
|
+
case 9:
|
|
181
|
+
return ID2SYM(rb_intern("debit_account_id_must_not_be_int_max"));
|
|
182
|
+
case 10:
|
|
183
|
+
return ID2SYM(rb_intern("credit_account_id_must_not_be_zero"));
|
|
184
|
+
case 11:
|
|
185
|
+
return ID2SYM(rb_intern("credit_account_id_must_not_be_int_max"));
|
|
186
|
+
case 12:
|
|
187
|
+
return ID2SYM(rb_intern("accounts_must_be_different"));
|
|
188
|
+
case 13:
|
|
189
|
+
return ID2SYM(rb_intern("pending_id_must_be_zero"));
|
|
190
|
+
case 14:
|
|
191
|
+
return ID2SYM(rb_intern("pending_id_must_not_be_zero"));
|
|
192
|
+
case 15:
|
|
193
|
+
return ID2SYM(rb_intern("pending_id_must_not_be_int_max"));
|
|
194
|
+
case 16:
|
|
195
|
+
return ID2SYM(rb_intern("pending_id_must_be_different"));
|
|
196
|
+
case 17:
|
|
197
|
+
return ID2SYM(rb_intern("timeout_reserved_for_pending_transfer"));
|
|
198
|
+
case 64:
|
|
199
|
+
return ID2SYM(rb_intern("closing_transfer_must_be_pending"));
|
|
200
|
+
case 19:
|
|
201
|
+
return ID2SYM(rb_intern("ledger_must_not_be_zero"));
|
|
202
|
+
case 20:
|
|
203
|
+
return ID2SYM(rb_intern("code_must_not_be_zero"));
|
|
204
|
+
case 21:
|
|
205
|
+
return ID2SYM(rb_intern("debit_account_not_found"));
|
|
206
|
+
case 22:
|
|
207
|
+
return ID2SYM(rb_intern("credit_account_not_found"));
|
|
208
|
+
case 23:
|
|
209
|
+
return ID2SYM(rb_intern("accounts_must_have_the_same_ledger"));
|
|
210
|
+
case 24:
|
|
211
|
+
return ID2SYM(rb_intern("transfer_must_have_the_same_ledger_as_accounts"));
|
|
212
|
+
case 25:
|
|
213
|
+
return ID2SYM(rb_intern("pending_transfer_not_found"));
|
|
214
|
+
case 26:
|
|
215
|
+
return ID2SYM(rb_intern("pending_transfer_not_pending"));
|
|
216
|
+
case 27:
|
|
217
|
+
return ID2SYM(rb_intern("pending_transfer_has_different_debit_account_id"));
|
|
218
|
+
case 28:
|
|
219
|
+
return ID2SYM(rb_intern("pending_transfer_has_different_credit_account_id"));
|
|
220
|
+
case 29:
|
|
221
|
+
return ID2SYM(rb_intern("pending_transfer_has_different_ledger"));
|
|
222
|
+
case 30:
|
|
223
|
+
return ID2SYM(rb_intern("pending_transfer_has_different_code"));
|
|
224
|
+
case 31:
|
|
225
|
+
return ID2SYM(rb_intern("exceeds_pending_transfer_amount"));
|
|
226
|
+
case 32:
|
|
227
|
+
return ID2SYM(rb_intern("pending_transfer_has_different_amount"));
|
|
228
|
+
case 33:
|
|
229
|
+
return ID2SYM(rb_intern("pending_transfer_already_posted"));
|
|
230
|
+
case 34:
|
|
231
|
+
return ID2SYM(rb_intern("pending_transfer_already_voided"));
|
|
232
|
+
case 35:
|
|
233
|
+
return ID2SYM(rb_intern("pending_transfer_expired"));
|
|
234
|
+
case 60:
|
|
235
|
+
return ID2SYM(rb_intern("imported_event_timestamp_must_not_regress"));
|
|
236
|
+
case 61:
|
|
237
|
+
return ID2SYM(rb_intern("imported_event_timestamp_must_postdate_debit_account"));
|
|
238
|
+
case 62:
|
|
239
|
+
return ID2SYM(rb_intern("imported_event_timestamp_must_postdate_credit_account"));
|
|
240
|
+
case 63:
|
|
241
|
+
return ID2SYM(rb_intern("imported_event_timeout_must_be_zero"));
|
|
242
|
+
case 65:
|
|
243
|
+
return ID2SYM(rb_intern("debit_account_already_closed"));
|
|
244
|
+
case 66:
|
|
245
|
+
return ID2SYM(rb_intern("credit_account_already_closed"));
|
|
246
|
+
case 47:
|
|
247
|
+
return ID2SYM(rb_intern("overflows_debits_pending"));
|
|
248
|
+
case 48:
|
|
249
|
+
return ID2SYM(rb_intern("overflows_credits_pending"));
|
|
250
|
+
case 49:
|
|
251
|
+
return ID2SYM(rb_intern("overflows_debits_posted"));
|
|
252
|
+
case 50:
|
|
253
|
+
return ID2SYM(rb_intern("overflows_credits_posted"));
|
|
254
|
+
case 51:
|
|
255
|
+
return ID2SYM(rb_intern("overflows_debits"));
|
|
256
|
+
case 52:
|
|
257
|
+
return ID2SYM(rb_intern("overflows_credits"));
|
|
258
|
+
case 53:
|
|
259
|
+
return ID2SYM(rb_intern("overflows_timeout"));
|
|
260
|
+
case 54:
|
|
261
|
+
return ID2SYM(rb_intern("exceeds_credits"));
|
|
262
|
+
case 55:
|
|
263
|
+
return ID2SYM(rb_intern("exceeds_debits"));
|
|
264
|
+
default:
|
|
265
|
+
tb_assert(false);
|
|
266
|
+
return Qnil;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
61
270
|
static VALUE rb_tb_deserialize_lookup_accounts(const uint8_t *buf, uint32_t buf_size) {
|
|
62
271
|
VALUE klass = rb_path2class("TigerBeetle::Account");
|
|
63
272
|
tb_assert(buf_size % sizeof(tb_account_t) == 0);
|
|
@@ -73,13 +282,13 @@ static VALUE rb_tb_deserialize_lookup_accounts(const uint8_t *buf, uint32_t buf_
|
|
|
73
282
|
rb_ivar_set(obj, rb_intern("@credits_pending"), rb_tb_unpack_u128(&item->credits_pending));
|
|
74
283
|
rb_ivar_set(obj, rb_intern("@credits_posted"), rb_tb_unpack_u128(&item->credits_posted));
|
|
75
284
|
rb_ivar_set(obj, rb_intern("@user_data_128"), rb_tb_unpack_u128(&item->user_data_128));
|
|
76
|
-
rb_ivar_set(obj, rb_intern("@user_data_64"),
|
|
77
|
-
rb_ivar_set(obj, rb_intern("@user_data_32"),
|
|
285
|
+
rb_ivar_set(obj, rb_intern("@user_data_64"), RB_ULL2NUM(item->user_data_64));
|
|
286
|
+
rb_ivar_set(obj, rb_intern("@user_data_32"), RB_UINT2NUM(item->user_data_32));
|
|
78
287
|
tb_assert(item->reserved == 0);
|
|
79
|
-
rb_ivar_set(obj, rb_intern("@ledger"),
|
|
80
|
-
rb_ivar_set(obj, rb_intern("@code"),
|
|
81
|
-
rb_ivar_set(obj, rb_intern("@flags"),
|
|
82
|
-
rb_ivar_set(obj, rb_intern("@timestamp"),
|
|
288
|
+
rb_ivar_set(obj, rb_intern("@ledger"), RB_UINT2NUM(item->ledger));
|
|
289
|
+
rb_ivar_set(obj, rb_intern("@code"), RB_UINT2NUM(item->code));
|
|
290
|
+
rb_ivar_set(obj, rb_intern("@flags"), RB_UINT2NUM(item->flags));
|
|
291
|
+
rb_ivar_set(obj, rb_intern("@timestamp"), RB_ULL2NUM(item->timestamp));
|
|
83
292
|
rb_ary_push(results, obj);
|
|
84
293
|
}
|
|
85
294
|
return results;
|
|
@@ -100,13 +309,13 @@ static VALUE rb_tb_deserialize_lookup_transfers(const uint8_t *buf, uint32_t buf
|
|
|
100
309
|
rb_ivar_set(obj, rb_intern("@amount"), rb_tb_unpack_u128(&item->amount));
|
|
101
310
|
rb_ivar_set(obj, rb_intern("@pending_id"), rb_tb_unpack_u128(&item->pending_id));
|
|
102
311
|
rb_ivar_set(obj, rb_intern("@user_data_128"), rb_tb_unpack_u128(&item->user_data_128));
|
|
103
|
-
rb_ivar_set(obj, rb_intern("@user_data_64"),
|
|
104
|
-
rb_ivar_set(obj, rb_intern("@user_data_32"),
|
|
105
|
-
rb_ivar_set(obj, rb_intern("@timeout"),
|
|
106
|
-
rb_ivar_set(obj, rb_intern("@ledger"),
|
|
107
|
-
rb_ivar_set(obj, rb_intern("@code"),
|
|
108
|
-
rb_ivar_set(obj, rb_intern("@flags"),
|
|
109
|
-
rb_ivar_set(obj, rb_intern("@timestamp"),
|
|
312
|
+
rb_ivar_set(obj, rb_intern("@user_data_64"), RB_ULL2NUM(item->user_data_64));
|
|
313
|
+
rb_ivar_set(obj, rb_intern("@user_data_32"), RB_UINT2NUM(item->user_data_32));
|
|
314
|
+
rb_ivar_set(obj, rb_intern("@timeout"), RB_UINT2NUM(item->timeout));
|
|
315
|
+
rb_ivar_set(obj, rb_intern("@ledger"), RB_UINT2NUM(item->ledger));
|
|
316
|
+
rb_ivar_set(obj, rb_intern("@code"), RB_UINT2NUM(item->code));
|
|
317
|
+
rb_ivar_set(obj, rb_intern("@flags"), RB_UINT2NUM(item->flags));
|
|
318
|
+
rb_ivar_set(obj, rb_intern("@timestamp"), RB_ULL2NUM(item->timestamp));
|
|
110
319
|
rb_ary_push(results, obj);
|
|
111
320
|
}
|
|
112
321
|
return results;
|
|
@@ -119,14 +328,14 @@ static void rb_tb_serialize_get_account_transfers(VALUE items_rb, uint8_t *buf,
|
|
|
119
328
|
tb_account_filter_t *item = &items[i];
|
|
120
329
|
rb_tb_pack_u128(rb_ivar_get(item_rb, rb_intern("@account_id")), &item->account_id);
|
|
121
330
|
rb_tb_pack_u128(rb_ivar_get(item_rb, rb_intern("@user_data_128")), &item->user_data_128);
|
|
122
|
-
item->user_data_64 =
|
|
123
|
-
item->user_data_32 = (
|
|
124
|
-
item->code = (
|
|
331
|
+
item->user_data_64 = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@user_data_64")));
|
|
332
|
+
item->user_data_32 = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@user_data_32")));
|
|
333
|
+
item->code = RB_NUM2USHORT(rb_ivar_get(item_rb, rb_intern("@code")));
|
|
125
334
|
memset(item->reserved, 0, sizeof(item->reserved));
|
|
126
|
-
item->timestamp_min =
|
|
127
|
-
item->timestamp_max =
|
|
128
|
-
item->limit = (
|
|
129
|
-
item->flags = (
|
|
335
|
+
item->timestamp_min = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@timestamp_min")));
|
|
336
|
+
item->timestamp_max = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@timestamp_max")));
|
|
337
|
+
item->limit = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@limit")));
|
|
338
|
+
item->flags = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@flags")));
|
|
130
339
|
}
|
|
131
340
|
}
|
|
132
341
|
|
|
@@ -145,13 +354,13 @@ static VALUE rb_tb_deserialize_get_account_transfers(const uint8_t *buf, uint32_
|
|
|
145
354
|
rb_ivar_set(obj, rb_intern("@amount"), rb_tb_unpack_u128(&item->amount));
|
|
146
355
|
rb_ivar_set(obj, rb_intern("@pending_id"), rb_tb_unpack_u128(&item->pending_id));
|
|
147
356
|
rb_ivar_set(obj, rb_intern("@user_data_128"), rb_tb_unpack_u128(&item->user_data_128));
|
|
148
|
-
rb_ivar_set(obj, rb_intern("@user_data_64"),
|
|
149
|
-
rb_ivar_set(obj, rb_intern("@user_data_32"),
|
|
150
|
-
rb_ivar_set(obj, rb_intern("@timeout"),
|
|
151
|
-
rb_ivar_set(obj, rb_intern("@ledger"),
|
|
152
|
-
rb_ivar_set(obj, rb_intern("@code"),
|
|
153
|
-
rb_ivar_set(obj, rb_intern("@flags"),
|
|
154
|
-
rb_ivar_set(obj, rb_intern("@timestamp"),
|
|
357
|
+
rb_ivar_set(obj, rb_intern("@user_data_64"), RB_ULL2NUM(item->user_data_64));
|
|
358
|
+
rb_ivar_set(obj, rb_intern("@user_data_32"), RB_UINT2NUM(item->user_data_32));
|
|
359
|
+
rb_ivar_set(obj, rb_intern("@timeout"), RB_UINT2NUM(item->timeout));
|
|
360
|
+
rb_ivar_set(obj, rb_intern("@ledger"), RB_UINT2NUM(item->ledger));
|
|
361
|
+
rb_ivar_set(obj, rb_intern("@code"), RB_UINT2NUM(item->code));
|
|
362
|
+
rb_ivar_set(obj, rb_intern("@flags"), RB_UINT2NUM(item->flags));
|
|
363
|
+
rb_ivar_set(obj, rb_intern("@timestamp"), RB_ULL2NUM(item->timestamp));
|
|
155
364
|
rb_ary_push(results, obj);
|
|
156
365
|
}
|
|
157
366
|
return results;
|
|
@@ -164,14 +373,14 @@ static void rb_tb_serialize_get_account_balances(VALUE items_rb, uint8_t *buf, l
|
|
|
164
373
|
tb_account_filter_t *item = &items[i];
|
|
165
374
|
rb_tb_pack_u128(rb_ivar_get(item_rb, rb_intern("@account_id")), &item->account_id);
|
|
166
375
|
rb_tb_pack_u128(rb_ivar_get(item_rb, rb_intern("@user_data_128")), &item->user_data_128);
|
|
167
|
-
item->user_data_64 =
|
|
168
|
-
item->user_data_32 = (
|
|
169
|
-
item->code = (
|
|
376
|
+
item->user_data_64 = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@user_data_64")));
|
|
377
|
+
item->user_data_32 = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@user_data_32")));
|
|
378
|
+
item->code = RB_NUM2USHORT(rb_ivar_get(item_rb, rb_intern("@code")));
|
|
170
379
|
memset(item->reserved, 0, sizeof(item->reserved));
|
|
171
|
-
item->timestamp_min =
|
|
172
|
-
item->timestamp_max =
|
|
173
|
-
item->limit = (
|
|
174
|
-
item->flags = (
|
|
380
|
+
item->timestamp_min = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@timestamp_min")));
|
|
381
|
+
item->timestamp_max = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@timestamp_max")));
|
|
382
|
+
item->limit = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@limit")));
|
|
383
|
+
item->flags = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@flags")));
|
|
175
384
|
}
|
|
176
385
|
}
|
|
177
386
|
|
|
@@ -188,7 +397,7 @@ static VALUE rb_tb_deserialize_get_account_balances(const uint8_t *buf, uint32_t
|
|
|
188
397
|
rb_ivar_set(obj, rb_intern("@debits_posted"), rb_tb_unpack_u128(&item->debits_posted));
|
|
189
398
|
rb_ivar_set(obj, rb_intern("@credits_pending"), rb_tb_unpack_u128(&item->credits_pending));
|
|
190
399
|
rb_ivar_set(obj, rb_intern("@credits_posted"), rb_tb_unpack_u128(&item->credits_posted));
|
|
191
|
-
rb_ivar_set(obj, rb_intern("@timestamp"),
|
|
400
|
+
rb_ivar_set(obj, rb_intern("@timestamp"), RB_ULL2NUM(item->timestamp));
|
|
192
401
|
uint8_t zero[sizeof(item->reserved)] = {0};
|
|
193
402
|
tb_assert(memcmp(item->reserved, zero, sizeof(item->reserved)) == 0);
|
|
194
403
|
rb_ary_push(results, obj);
|
|
@@ -202,15 +411,15 @@ static void rb_tb_serialize_query_accounts(VALUE items_rb, uint8_t *buf, long co
|
|
|
202
411
|
VALUE item_rb = RARRAY_AREF(items_rb, i);
|
|
203
412
|
tb_query_filter_t *item = &items[i];
|
|
204
413
|
rb_tb_pack_u128(rb_ivar_get(item_rb, rb_intern("@user_data_128")), &item->user_data_128);
|
|
205
|
-
item->user_data_64 =
|
|
206
|
-
item->user_data_32 = (
|
|
207
|
-
item->ledger = (
|
|
208
|
-
item->code = (
|
|
414
|
+
item->user_data_64 = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@user_data_64")));
|
|
415
|
+
item->user_data_32 = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@user_data_32")));
|
|
416
|
+
item->ledger = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@ledger")));
|
|
417
|
+
item->code = RB_NUM2USHORT(rb_ivar_get(item_rb, rb_intern("@code")));
|
|
209
418
|
memset(item->reserved, 0, sizeof(item->reserved));
|
|
210
|
-
item->timestamp_min =
|
|
211
|
-
item->timestamp_max =
|
|
212
|
-
item->limit = (
|
|
213
|
-
item->flags = (
|
|
419
|
+
item->timestamp_min = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@timestamp_min")));
|
|
420
|
+
item->timestamp_max = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@timestamp_max")));
|
|
421
|
+
item->limit = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@limit")));
|
|
422
|
+
item->flags = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@flags")));
|
|
214
423
|
}
|
|
215
424
|
}
|
|
216
425
|
|
|
@@ -229,13 +438,13 @@ static VALUE rb_tb_deserialize_query_accounts(const uint8_t *buf, uint32_t buf_s
|
|
|
229
438
|
rb_ivar_set(obj, rb_intern("@credits_pending"), rb_tb_unpack_u128(&item->credits_pending));
|
|
230
439
|
rb_ivar_set(obj, rb_intern("@credits_posted"), rb_tb_unpack_u128(&item->credits_posted));
|
|
231
440
|
rb_ivar_set(obj, rb_intern("@user_data_128"), rb_tb_unpack_u128(&item->user_data_128));
|
|
232
|
-
rb_ivar_set(obj, rb_intern("@user_data_64"),
|
|
233
|
-
rb_ivar_set(obj, rb_intern("@user_data_32"),
|
|
441
|
+
rb_ivar_set(obj, rb_intern("@user_data_64"), RB_ULL2NUM(item->user_data_64));
|
|
442
|
+
rb_ivar_set(obj, rb_intern("@user_data_32"), RB_UINT2NUM(item->user_data_32));
|
|
234
443
|
tb_assert(item->reserved == 0);
|
|
235
|
-
rb_ivar_set(obj, rb_intern("@ledger"),
|
|
236
|
-
rb_ivar_set(obj, rb_intern("@code"),
|
|
237
|
-
rb_ivar_set(obj, rb_intern("@flags"),
|
|
238
|
-
rb_ivar_set(obj, rb_intern("@timestamp"),
|
|
444
|
+
rb_ivar_set(obj, rb_intern("@ledger"), RB_UINT2NUM(item->ledger));
|
|
445
|
+
rb_ivar_set(obj, rb_intern("@code"), RB_UINT2NUM(item->code));
|
|
446
|
+
rb_ivar_set(obj, rb_intern("@flags"), RB_UINT2NUM(item->flags));
|
|
447
|
+
rb_ivar_set(obj, rb_intern("@timestamp"), RB_ULL2NUM(item->timestamp));
|
|
239
448
|
rb_ary_push(results, obj);
|
|
240
449
|
}
|
|
241
450
|
return results;
|
|
@@ -247,15 +456,15 @@ static void rb_tb_serialize_query_transfers(VALUE items_rb, uint8_t *buf, long c
|
|
|
247
456
|
VALUE item_rb = RARRAY_AREF(items_rb, i);
|
|
248
457
|
tb_query_filter_t *item = &items[i];
|
|
249
458
|
rb_tb_pack_u128(rb_ivar_get(item_rb, rb_intern("@user_data_128")), &item->user_data_128);
|
|
250
|
-
item->user_data_64 =
|
|
251
|
-
item->user_data_32 = (
|
|
252
|
-
item->ledger = (
|
|
253
|
-
item->code = (
|
|
459
|
+
item->user_data_64 = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@user_data_64")));
|
|
460
|
+
item->user_data_32 = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@user_data_32")));
|
|
461
|
+
item->ledger = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@ledger")));
|
|
462
|
+
item->code = RB_NUM2USHORT(rb_ivar_get(item_rb, rb_intern("@code")));
|
|
254
463
|
memset(item->reserved, 0, sizeof(item->reserved));
|
|
255
|
-
item->timestamp_min =
|
|
256
|
-
item->timestamp_max =
|
|
257
|
-
item->limit = (
|
|
258
|
-
item->flags = (
|
|
464
|
+
item->timestamp_min = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@timestamp_min")));
|
|
465
|
+
item->timestamp_max = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@timestamp_max")));
|
|
466
|
+
item->limit = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@limit")));
|
|
467
|
+
item->flags = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@flags")));
|
|
259
468
|
}
|
|
260
469
|
}
|
|
261
470
|
|
|
@@ -274,13 +483,13 @@ static VALUE rb_tb_deserialize_query_transfers(const uint8_t *buf, uint32_t buf_
|
|
|
274
483
|
rb_ivar_set(obj, rb_intern("@amount"), rb_tb_unpack_u128(&item->amount));
|
|
275
484
|
rb_ivar_set(obj, rb_intern("@pending_id"), rb_tb_unpack_u128(&item->pending_id));
|
|
276
485
|
rb_ivar_set(obj, rb_intern("@user_data_128"), rb_tb_unpack_u128(&item->user_data_128));
|
|
277
|
-
rb_ivar_set(obj, rb_intern("@user_data_64"),
|
|
278
|
-
rb_ivar_set(obj, rb_intern("@user_data_32"),
|
|
279
|
-
rb_ivar_set(obj, rb_intern("@timeout"),
|
|
280
|
-
rb_ivar_set(obj, rb_intern("@ledger"),
|
|
281
|
-
rb_ivar_set(obj, rb_intern("@code"),
|
|
282
|
-
rb_ivar_set(obj, rb_intern("@flags"),
|
|
283
|
-
rb_ivar_set(obj, rb_intern("@timestamp"),
|
|
486
|
+
rb_ivar_set(obj, rb_intern("@user_data_64"), RB_ULL2NUM(item->user_data_64));
|
|
487
|
+
rb_ivar_set(obj, rb_intern("@user_data_32"), RB_UINT2NUM(item->user_data_32));
|
|
488
|
+
rb_ivar_set(obj, rb_intern("@timeout"), RB_UINT2NUM(item->timeout));
|
|
489
|
+
rb_ivar_set(obj, rb_intern("@ledger"), RB_UINT2NUM(item->ledger));
|
|
490
|
+
rb_ivar_set(obj, rb_intern("@code"), RB_UINT2NUM(item->code));
|
|
491
|
+
rb_ivar_set(obj, rb_intern("@flags"), RB_UINT2NUM(item->flags));
|
|
492
|
+
rb_ivar_set(obj, rb_intern("@timestamp"), RB_ULL2NUM(item->timestamp));
|
|
284
493
|
rb_ary_push(results, obj);
|
|
285
494
|
}
|
|
286
495
|
return results;
|
|
@@ -297,13 +506,13 @@ static void rb_tb_serialize_create_accounts(VALUE items_rb, uint8_t *buf, long c
|
|
|
297
506
|
rb_tb_pack_u128(rb_ivar_get(item_rb, rb_intern("@credits_pending")), &item->credits_pending);
|
|
298
507
|
rb_tb_pack_u128(rb_ivar_get(item_rb, rb_intern("@credits_posted")), &item->credits_posted);
|
|
299
508
|
rb_tb_pack_u128(rb_ivar_get(item_rb, rb_intern("@user_data_128")), &item->user_data_128);
|
|
300
|
-
item->user_data_64 =
|
|
301
|
-
item->user_data_32 = (
|
|
509
|
+
item->user_data_64 = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@user_data_64")));
|
|
510
|
+
item->user_data_32 = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@user_data_32")));
|
|
302
511
|
item->reserved = 0;
|
|
303
|
-
item->ledger = (
|
|
304
|
-
item->code = (
|
|
305
|
-
item->flags = (
|
|
306
|
-
item->timestamp =
|
|
512
|
+
item->ledger = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@ledger")));
|
|
513
|
+
item->code = RB_NUM2USHORT(rb_ivar_get(item_rb, rb_intern("@code")));
|
|
514
|
+
item->flags = RB_NUM2USHORT(rb_ivar_get(item_rb, rb_intern("@flags")));
|
|
515
|
+
item->timestamp = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@timestamp")));
|
|
307
516
|
}
|
|
308
517
|
}
|
|
309
518
|
|
|
@@ -316,8 +525,13 @@ static VALUE rb_tb_deserialize_create_accounts(const uint8_t *buf, uint32_t buf_
|
|
|
316
525
|
for (long i = 0; i < count; i++) {
|
|
317
526
|
const tb_create_account_result_t *item = &items[i];
|
|
318
527
|
VALUE obj = rb_obj_alloc(klass);
|
|
319
|
-
rb_ivar_set(obj, rb_intern("@timestamp"),
|
|
320
|
-
rb_ivar_set(obj, rb_intern("@status"),
|
|
528
|
+
rb_ivar_set(obj, rb_intern("@timestamp"), RB_ULL2NUM(item->timestamp));
|
|
529
|
+
rb_ivar_set(obj, rb_intern("@status"), RB_UINT2NUM(item->status));
|
|
530
|
+
rb_ivar_set(
|
|
531
|
+
obj,
|
|
532
|
+
rb_intern("@status_name"),
|
|
533
|
+
rb_tb_create_accounts_status_name(item->status)
|
|
534
|
+
);
|
|
321
535
|
tb_assert(item->reserved == 0);
|
|
322
536
|
rb_ary_push(results, obj);
|
|
323
537
|
}
|
|
@@ -335,13 +549,13 @@ static void rb_tb_serialize_create_transfers(VALUE items_rb, uint8_t *buf, long
|
|
|
335
549
|
rb_tb_pack_u128(rb_ivar_get(item_rb, rb_intern("@amount")), &item->amount);
|
|
336
550
|
rb_tb_pack_u128(rb_ivar_get(item_rb, rb_intern("@pending_id")), &item->pending_id);
|
|
337
551
|
rb_tb_pack_u128(rb_ivar_get(item_rb, rb_intern("@user_data_128")), &item->user_data_128);
|
|
338
|
-
item->user_data_64 =
|
|
339
|
-
item->user_data_32 = (
|
|
340
|
-
item->timeout = (
|
|
341
|
-
item->ledger = (
|
|
342
|
-
item->code = (
|
|
343
|
-
item->flags = (
|
|
344
|
-
item->timestamp =
|
|
552
|
+
item->user_data_64 = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@user_data_64")));
|
|
553
|
+
item->user_data_32 = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@user_data_32")));
|
|
554
|
+
item->timeout = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@timeout")));
|
|
555
|
+
item->ledger = RB_NUM2UINT(rb_ivar_get(item_rb, rb_intern("@ledger")));
|
|
556
|
+
item->code = RB_NUM2USHORT(rb_ivar_get(item_rb, rb_intern("@code")));
|
|
557
|
+
item->flags = RB_NUM2USHORT(rb_ivar_get(item_rb, rb_intern("@flags")));
|
|
558
|
+
item->timestamp = RB_NUM2ULL(rb_ivar_get(item_rb, rb_intern("@timestamp")));
|
|
345
559
|
}
|
|
346
560
|
}
|
|
347
561
|
|
|
@@ -354,8 +568,13 @@ static VALUE rb_tb_deserialize_create_transfers(const uint8_t *buf, uint32_t buf
|
|
|
354
568
|
for (long i = 0; i < count; i++) {
|
|
355
569
|
const tb_create_transfer_result_t *item = &items[i];
|
|
356
570
|
VALUE obj = rb_obj_alloc(klass);
|
|
357
|
-
rb_ivar_set(obj, rb_intern("@timestamp"),
|
|
358
|
-
rb_ivar_set(obj, rb_intern("@status"),
|
|
571
|
+
rb_ivar_set(obj, rb_intern("@timestamp"), RB_ULL2NUM(item->timestamp));
|
|
572
|
+
rb_ivar_set(obj, rb_intern("@status"), RB_UINT2NUM(item->status));
|
|
573
|
+
rb_ivar_set(
|
|
574
|
+
obj,
|
|
575
|
+
rb_intern("@status_name"),
|
|
576
|
+
rb_tb_create_transfers_status_name(item->status)
|
|
577
|
+
);
|
|
359
578
|
tb_assert(item->reserved == 0);
|
|
360
579
|
rb_ary_push(results, obj);
|
|
361
580
|
}
|
|
@@ -101,7 +101,7 @@ static VALUE rb_tb_request_result(VALUE self) {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
return rb_ary_new_from_args(2,
|
|
104
|
+
return rb_ary_new_from_args(2, RB_UINT2NUM(req->status), result);
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
static void rb_tb_write_completion(int fd, rb_tb_request_t *req) {
|
|
@@ -182,12 +182,12 @@ static VALUE rb_tb_client_initialize(
|
|
|
182
182
|
TypedData_Get_Struct(self, tb_client_t, &rb_tb_client_type, client);
|
|
183
183
|
|
|
184
184
|
uint8_t cluster_id_bytes[16] = {0};
|
|
185
|
-
|
|
185
|
+
rb_tb_pack_u128(cluster_id_rb, cluster_id_bytes);
|
|
186
186
|
|
|
187
187
|
const char *addr = StringValueCStr(addresses_rb);
|
|
188
188
|
uint32_t addr_len = (uint32_t)RSTRING_LEN(addresses_rb);
|
|
189
189
|
|
|
190
|
-
int completion_fd =
|
|
190
|
+
int completion_fd = RB_NUM2INT(completion_fd_rb);
|
|
191
191
|
|
|
192
192
|
TB_INIT_STATUS status = tb_client_init(
|
|
193
193
|
client, cluster_id_bytes, addr, addr_len, (uintptr_t)completion_fd, rb_tb_on_completion
|
|
@@ -232,7 +232,7 @@ static VALUE rb_tb_client_submit(VALUE self, VALUE operation_rb, VALUE items_rb)
|
|
|
232
232
|
tb_client_t *client;
|
|
233
233
|
TypedData_Get_Struct(self, tb_client_t, &rb_tb_client_type, client);
|
|
234
234
|
|
|
235
|
-
TB_OPERATION operation = (TB_OPERATION)
|
|
235
|
+
TB_OPERATION operation = (TB_OPERATION)RB_NUM2INT(operation_rb);
|
|
236
236
|
long count = RARRAY_LEN(items_rb);
|
|
237
237
|
|
|
238
238
|
rb_tb_request_t *req = malloc(sizeof(rb_tb_request_t));
|
|
@@ -290,12 +290,12 @@ static VALUE rb_tb_client_submit(VALUE self, VALUE operation_rb, VALUE items_rb)
|
|
|
290
290
|
static VALUE rb_tb_request_id(VALUE self) {
|
|
291
291
|
rb_tb_request_t *req;
|
|
292
292
|
TypedData_Get_Struct(self, rb_tb_request_t, &rb_tb_request_type, req);
|
|
293
|
-
return
|
|
293
|
+
return RB_ULL2NUM((unsigned long long)(uintptr_t)req);
|
|
294
294
|
}
|
|
295
295
|
|
|
296
296
|
static void rb_tb_init_native_client(VALUE mTigerBeetle) {
|
|
297
|
-
rb_define_const(mTigerBeetle, "PACKET_OK",
|
|
298
|
-
rb_define_const(mTigerBeetle, "PACKET_CLIENT_SHUTDOWN",
|
|
297
|
+
rb_define_const(mTigerBeetle, "PACKET_OK", RB_INT2NUM(TB_PACKET_OK));
|
|
298
|
+
rb_define_const(mTigerBeetle, "PACKET_CLIENT_SHUTDOWN", RB_INT2NUM(TB_PACKET_CLIENT_SHUTDOWN));
|
|
299
299
|
|
|
300
300
|
VALUE cNativeClient = rb_define_class_under(mTigerBeetle, "NativeClient", rb_cObject);
|
|
301
301
|
rb_define_alloc_func(cNativeClient, rb_tb_client_alloc);
|
data/src/tigerbeetle/bindings.rb
CHANGED
|
@@ -327,21 +327,29 @@ module TigerBeetle
|
|
|
327
327
|
class CreateAccountResult
|
|
328
328
|
attr_reader :timestamp
|
|
329
329
|
attr_reader :status
|
|
330
|
+
attr_reader :status_name
|
|
330
331
|
|
|
331
332
|
def initialize
|
|
332
333
|
@timestamp = 0
|
|
333
334
|
@status = 0
|
|
334
335
|
end
|
|
336
|
+
|
|
337
|
+
def to_s =
|
|
338
|
+
"#<#{self.class} timestamp=#{@timestamp} status_name=#{@status_name}>"
|
|
335
339
|
end
|
|
336
340
|
|
|
337
341
|
class CreateTransferResult
|
|
338
342
|
attr_reader :timestamp
|
|
339
343
|
attr_reader :status
|
|
344
|
+
attr_reader :status_name
|
|
340
345
|
|
|
341
346
|
def initialize
|
|
342
347
|
@timestamp = 0
|
|
343
348
|
@status = 0
|
|
344
349
|
end
|
|
350
|
+
|
|
351
|
+
def to_s =
|
|
352
|
+
"#<#{self.class} timestamp=#{@timestamp} status_name=#{@status_name}>"
|
|
345
353
|
end
|
|
346
354
|
|
|
347
355
|
end
|
data/src/tigerbeetle/version.rb
CHANGED