@peerbit/log 6.1.0 → 6.2.0

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 (47) hide show
  1. package/dist/benchmark/native-graph.js +447 -5
  2. package/dist/benchmark/native-graph.js.map +1 -1
  3. package/dist/src/clock.d.ts +1 -0
  4. package/dist/src/clock.d.ts.map +1 -1
  5. package/dist/src/clock.js +32 -0
  6. package/dist/src/clock.js.map +1 -1
  7. package/dist/src/entry-create.d.ts +1 -0
  8. package/dist/src/entry-create.d.ts.map +1 -1
  9. package/dist/src/entry-create.js.map +1 -1
  10. package/dist/src/entry-index.d.ts +288 -12
  11. package/dist/src/entry-index.d.ts.map +1 -1
  12. package/dist/src/entry-index.js +1478 -33
  13. package/dist/src/entry-index.js.map +1 -1
  14. package/dist/src/entry-v0.d.ts +184 -1
  15. package/dist/src/entry-v0.d.ts.map +1 -1
  16. package/dist/src/entry-v0.js +1021 -12
  17. package/dist/src/entry-v0.js.map +1 -1
  18. package/dist/src/entry.d.ts +73 -1
  19. package/dist/src/entry.d.ts.map +1 -1
  20. package/dist/src/entry.js +124 -1
  21. package/dist/src/entry.js.map +1 -1
  22. package/dist/src/index.d.ts +1 -1
  23. package/dist/src/index.d.ts.map +1 -1
  24. package/dist/src/index.js +1 -1
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/log.d.ts +62 -13
  27. package/dist/src/log.d.ts.map +1 -1
  28. package/dist/src/log.js +2282 -100
  29. package/dist/src/log.js.map +1 -1
  30. package/dist/src/runtime.d.ts +2 -0
  31. package/dist/src/runtime.d.ts.map +1 -0
  32. package/dist/src/runtime.js +10 -0
  33. package/dist/src/runtime.js.map +1 -0
  34. package/dist/src/trim.d.ts +14 -2
  35. package/dist/src/trim.d.ts.map +1 -1
  36. package/dist/src/trim.js +92 -4
  37. package/dist/src/trim.js.map +1 -1
  38. package/package.json +18 -15
  39. package/src/clock.ts +34 -0
  40. package/src/entry-create.ts +1 -0
  41. package/src/entry-index.ts +2232 -68
  42. package/src/entry-v0.ts +1488 -13
  43. package/src/entry.ts +235 -1
  44. package/src/index.ts +7 -1
  45. package/src/log.ts +3246 -206
  46. package/src/runtime.ts +16 -0
  47. package/src/trim.ts +133 -7
@@ -1,10 +1,32 @@
1
1
  import { AnyBlockStore } from "@peerbit/blocks";
2
2
  import { Ed25519Keypair } from "@peerbit/crypto";
3
+ import { createStore as createRustStore } from "@peerbit/any-store-rust";
3
4
  import { HashmapIndices } from "@peerbit/indexer-simple";
5
+ import { createNativeLogBlockStore } from "@peerbit/log-rust";
6
+ import { mkdtemp, rm } from "fs/promises";
7
+ import { tmpdir } from "os";
8
+ import { join } from "path";
9
+ import { EntryType } from "../src/entry-type.js";
10
+ import {} from "../src/entry.js";
4
11
  import { Log } from "../src/log.js";
5
12
  const entries = Number(process.env.PEERBIT_LOG_NATIVE_GRAPH_ENTRIES ?? 1_000);
6
13
  const iterations = Number(process.env.PEERBIT_LOG_NATIVE_GRAPH_ITERATIONS ?? 1_000);
14
+ const appendEntries = Number(process.env.PEERBIT_LOG_NATIVE_GRAPH_APPEND_ENTRIES ?? 1_000);
15
+ const joinParents = Number(process.env.PEERBIT_LOG_NATIVE_GRAPH_JOIN_PARENTS ?? entries);
7
16
  const key = await Ed25519Keypair.create();
17
+ const absoluteReplicaData = (value) => new Uint8Array([
18
+ 0,
19
+ value & 0xff,
20
+ (value >>> 8) & 0xff,
21
+ (value >>> 16) & 0xff,
22
+ (value >>> 24) & 0xff,
23
+ ]);
24
+ const decodeAbsoluteReplicaData = (data) => {
25
+ if (!data || data.length !== 5 || data[0] !== 0) {
26
+ return undefined;
27
+ }
28
+ return ((data[1] | (data[2] << 8) | (data[3] << 16) | (data[4] << 24)) >>> 0);
29
+ };
8
30
  const createHeadsLog = async (nativeGraph) => {
9
31
  const store = new AnyBlockStore();
10
32
  await store.start();
@@ -14,10 +36,34 @@ const createHeadsLog = async (nativeGraph) => {
14
36
  indexer: new HashmapIndices(),
15
37
  nativeGraph,
16
38
  });
39
+ let gid;
40
+ const hashes = [];
17
41
  for (let i = 0; i < entries; i++) {
18
- await log.append(new Uint8Array([i & 0xff]), { meta: { next: [] } });
42
+ const { entry } = await log.append(new Uint8Array([i & 0xff]), {
43
+ meta: { next: [] },
44
+ });
45
+ gid ??= entry.meta.gid;
46
+ hashes.push(entry.hash);
19
47
  }
20
- return { log, store };
48
+ return { log, store, gid: gid, hashes };
49
+ };
50
+ const createReplicaHeadsLog = async (nativeGraph) => {
51
+ const store = new AnyBlockStore();
52
+ await store.start();
53
+ const log = new Log();
54
+ await log.open(store, key, {
55
+ appendDurability: "strict",
56
+ indexer: new HashmapIndices(),
57
+ nativeGraph,
58
+ });
59
+ const gids = [];
60
+ for (let i = 0; i < entries; i++) {
61
+ const { entry } = await log.append(new Uint8Array([i & 0xff]), {
62
+ meta: { next: [], data: absoluteReplicaData((i % 8) + 1) },
63
+ });
64
+ gids.push(entry.meta.gid);
65
+ }
66
+ return { log, store, gids };
21
67
  };
22
68
  const createChainLog = async (nativeGraph) => {
23
69
  const store = new AnyBlockStore();
@@ -38,9 +84,9 @@ const createChainLog = async (nativeGraph) => {
38
84
  }
39
85
  return { log, rootHash: root.hash, store };
40
86
  };
41
- const measure = async (name, nativeGraph, fn) => {
87
+ const measure = async (name, nativeGraph, fn, measureIterations = iterations) => {
42
88
  const started = performance.now();
43
- for (let i = 0; i < iterations; i++) {
89
+ for (let i = 0; i < measureIterations; i++) {
44
90
  await fn();
45
91
  }
46
92
  const elapsed = performance.now() - started;
@@ -48,12 +94,342 @@ const measure = async (name, nativeGraph, fn) => {
48
94
  name,
49
95
  nativeGraph,
50
96
  entries,
97
+ iterations: measureIterations,
98
+ elapsedMs: Math.round(elapsed),
99
+ opsPerSecond: Math.round((measureIterations / elapsed) * 1000),
100
+ };
101
+ };
102
+ const rows = [];
103
+ const hasHead = async (log) => {
104
+ const nativeHasHead = await log.entryIndex.hasHead();
105
+ if (nativeHasHead != null) {
106
+ return nativeHasHead;
107
+ }
108
+ const heads = await log.entryIndex
109
+ .getHeads(undefined, { type: "shape", shape: { hash: true } })
110
+ .all();
111
+ return heads.length > 0;
112
+ };
113
+ const hasAnyHead = async (log, gids) => {
114
+ const nativeHasHead = await log.entryIndex.hasAnyHead(gids);
115
+ if (nativeHasHead != null) {
116
+ return nativeHasHead;
117
+ }
118
+ for (const gid of gids) {
119
+ const heads = await log.entryIndex
120
+ .getHeads(gid, { type: "shape", shape: { hash: true } })
121
+ .all();
122
+ if (heads.length > 0) {
123
+ return true;
124
+ }
125
+ }
126
+ return false;
127
+ };
128
+ const hasAnyHeadBatch = async (log, gidSets) => {
129
+ const nativeHasHeads = await log.entryIndex.hasAnyHeadBatch(gidSets);
130
+ if (nativeHasHeads != null) {
131
+ return nativeHasHeads;
132
+ }
133
+ const out = [];
134
+ for (const gids of gidSets) {
135
+ out.push(await hasAnyHead(log, gids));
136
+ }
137
+ return out;
138
+ };
139
+ const getMaxHeadDataU32 = async (log, gid) => {
140
+ const nativeMax = await log.entryIndex.getMaxHeadDataU32(gid);
141
+ if (nativeMax != null) {
142
+ return nativeMax;
143
+ }
144
+ const heads = (await log.entryIndex
145
+ .getHeads(gid, {
146
+ type: "shape",
147
+ shape: { meta: { data: true } },
148
+ })
149
+ .all());
150
+ let max = 0;
151
+ for (const head of heads) {
152
+ const value = decodeAbsoluteReplicaData(head.meta.data);
153
+ if (value != null) {
154
+ max = Math.max(max, value);
155
+ }
156
+ }
157
+ return max;
158
+ };
159
+ const getMaxHeadDataU32Batch = async (log, gids) => {
160
+ const nativeMaxes = await log.entryIndex.getMaxHeadDataU32Batch(gids);
161
+ if (nativeMaxes != null) {
162
+ return nativeMaxes;
163
+ }
164
+ const out = [];
165
+ for (const gid of gids) {
166
+ out.push(await getMaxHeadDataU32(log, gid));
167
+ }
168
+ return out;
169
+ };
170
+ const measureAppend = async (name, nativeGraph, fn, createStore = async () => new AnyBlockStore()) => {
171
+ const fixture = await createStore();
172
+ const store = "store" in fixture ? fixture.store : fixture;
173
+ const cleanup = "store" in fixture ? fixture.cleanup : undefined;
174
+ await store.start();
175
+ const log = new Log();
176
+ try {
177
+ await log.open(store, key, {
178
+ appendDurability: "strict",
179
+ indexer: new HashmapIndices(),
180
+ nativeGraph,
181
+ });
182
+ await log.append(new Uint8Array([0]), { meta: { next: [] } });
183
+ const started = performance.now();
184
+ await fn(log);
185
+ const elapsed = performance.now() - started;
186
+ return {
187
+ name,
188
+ nativeGraph,
189
+ entries: appendEntries,
190
+ iterations: appendEntries,
191
+ elapsedMs: Math.round(elapsed),
192
+ opsPerSecond: Math.round((appendEntries / elapsed) * 1000),
193
+ };
194
+ }
195
+ finally {
196
+ await log.close();
197
+ await store.stop();
198
+ await cleanup?.();
199
+ }
200
+ };
201
+ const createRustAnyBlockStore = async (properties) => {
202
+ const directory = properties?.persistent
203
+ ? await mkdtemp(join(tmpdir(), "peerbit-log-rust-any-store-"))
204
+ : undefined;
205
+ const backingStore = createRustStore(directory);
206
+ if (properties?.immutable === false) {
207
+ const mutableStore = backingStore;
208
+ mutableStore.putImmutable = undefined;
209
+ mutableStore.putManyImmutable = undefined;
210
+ }
211
+ return {
212
+ store: new AnyBlockStore(backingStore),
213
+ cleanup: directory
214
+ ? () => rm(directory, { recursive: true, force: true })
215
+ : undefined,
216
+ };
217
+ };
218
+ for (const nativeGraph of [false, true]) {
219
+ rows.push(await measureAppend("append loop auto-next", nativeGraph, async (log) => {
220
+ for (let i = 0; i < appendEntries; i++) {
221
+ await log.append(new Uint8Array([i & 0xff]));
222
+ }
223
+ }));
224
+ }
225
+ rows.push(await measureAppend("append loop native block commit", true, async (log) => {
226
+ for (let i = 0; i < appendEntries; i++) {
227
+ await log.append(new Uint8Array([i & 0xff]));
228
+ }
229
+ }, createNativeLogBlockStore));
230
+ rows.push(await measureAppend("commit-only append loop known block", true, async (log) => {
231
+ for (let i = 0; i < appendEntries; i++) {
232
+ const result = await log.appendLocallyPreparedCommitOnly(new Uint8Array([i & 0xff]), {}, { skipMissingNextJoin: true, includeMaterializationBytes: false });
233
+ if (!result) {
234
+ throw new Error("Expected native commit-only append path");
235
+ }
236
+ }
237
+ }));
238
+ rows.push(await measureAppend("commit-only append loop rust persistent known block fallback", true, async (log) => {
239
+ for (let i = 0; i < appendEntries; i++) {
240
+ const result = await log.appendLocallyPreparedCommitOnly(new Uint8Array([i & 0xff]), {}, { skipMissingNextJoin: true, includeMaterializationBytes: false });
241
+ if (!result) {
242
+ throw new Error("Expected native commit-only append path");
243
+ }
244
+ }
245
+ }, () => createRustAnyBlockStore({ immutable: false, persistent: true })));
246
+ rows.push(await measureAppend("commit-only append loop rust persistent known block", true, async (log) => {
247
+ for (let i = 0; i < appendEntries; i++) {
248
+ const result = await log.appendLocallyPreparedCommitOnly(new Uint8Array([i & 0xff]), {}, { skipMissingNextJoin: true, includeMaterializationBytes: false });
249
+ if (!result) {
250
+ throw new Error("Expected native commit-only append path");
251
+ }
252
+ }
253
+ }, () => createRustAnyBlockStore({ persistent: true })));
254
+ rows.push(await measureAppend("commit-only append loop native block commit", true, async (log) => {
255
+ for (let i = 0; i < appendEntries; i++) {
256
+ const result = await log.appendLocallyPreparedCommitOnly(new Uint8Array([i & 0xff]), {}, { skipMissingNextJoin: true, includeMaterializationBytes: false });
257
+ if (!result) {
258
+ throw new Error("Expected native commit-only append path");
259
+ }
260
+ }
261
+ }, createNativeLogBlockStore));
262
+ for (const nativeGraph of [false, true]) {
263
+ rows.push(await measureAppend("appendMany auto-next", nativeGraph, async (log) => {
264
+ await log.appendMany(Array.from({ length: appendEntries }, (_, index) => new Uint8Array([index & 0xff])));
265
+ }));
266
+ }
267
+ rows.push(await measureAppend("appendMany native block commit", true, async (log) => {
268
+ await log.appendMany(Array.from({ length: appendEntries }, (_, index) => new Uint8Array([index & 0xff])));
269
+ }, createNativeLogBlockStore));
270
+ const measureWideJoin = async (nativeGraph) => {
271
+ const store = new AnyBlockStore();
272
+ await store.start();
273
+ const source = new Log();
274
+ const target = new Log();
275
+ await source.open(store, key, {
276
+ appendDurability: "strict",
277
+ indexer: new HashmapIndices(),
278
+ nativeGraph,
279
+ });
280
+ await target.open(store, key, {
281
+ appendDurability: "strict",
282
+ indexer: new HashmapIndices(),
283
+ nativeGraph,
284
+ });
285
+ const parents = [];
286
+ for (let i = 0; i < joinParents; i++) {
287
+ parents.push((await source.append(new Uint8Array([i & 0xff]), {
288
+ meta: { next: [] },
289
+ })).entry);
290
+ }
291
+ await target.join(parents.slice(0, Math.floor(joinParents / 2)));
292
+ const { entry: merge } = await source.append(new Uint8Array([0xff]), {
293
+ meta: { next: parents },
294
+ });
295
+ const started = performance.now();
296
+ await target.join([merge]);
297
+ const elapsed = performance.now() - started;
298
+ await source.close();
299
+ await target.close();
300
+ await store.stop();
301
+ return {
302
+ name: "join wide merge parent planning",
303
+ nativeGraph,
304
+ entries: joinParents,
305
+ iterations: joinParents,
306
+ elapsedMs: Math.round(elapsed),
307
+ opsPerSecond: Math.round((joinParents / elapsed) * 1000),
308
+ };
309
+ };
310
+ for (const nativeGraph of [false, true]) {
311
+ rows.push(await measureWideJoin(nativeGraph));
312
+ }
313
+ const measureDuplicateJoinArray = async (nativeGraph) => {
314
+ const store = new AnyBlockStore();
315
+ await store.start();
316
+ const source = new Log();
317
+ const target = new Log();
318
+ await source.open(store, key, {
319
+ appendDurability: "strict",
320
+ indexer: new HashmapIndices(),
321
+ nativeGraph,
322
+ });
323
+ await target.open(store, key, {
324
+ appendDurability: "strict",
325
+ indexer: new HashmapIndices(),
326
+ nativeGraph,
327
+ });
328
+ const existing = [];
329
+ for (let i = 0; i < joinParents; i++) {
330
+ existing.push((await source.append(new Uint8Array([i & 0xff]), {
331
+ meta: { next: [] },
332
+ })).entry);
333
+ }
334
+ await target.join(existing);
335
+ const started = performance.now();
336
+ await target.join(existing);
337
+ const elapsed = performance.now() - started;
338
+ await source.close();
339
+ await target.close();
340
+ await store.stop();
341
+ return {
342
+ name: "join duplicate array membership",
343
+ nativeGraph,
344
+ entries: joinParents,
345
+ iterations: joinParents,
346
+ elapsedMs: Math.round(elapsed),
347
+ opsPerSecond: Math.round((joinParents / elapsed) * 1000),
348
+ };
349
+ };
350
+ for (const nativeGraph of [false, true]) {
351
+ rows.push(await measureDuplicateJoinArray(nativeGraph));
352
+ }
353
+ const measureCutRecursiveDelete = async (nativeGraph) => {
354
+ const store = new AnyBlockStore();
355
+ await store.start();
356
+ const log = new Log();
357
+ await log.open(store, key, {
358
+ appendDurability: "strict",
359
+ indexer: new HashmapIndices(),
360
+ nativeGraph,
361
+ });
362
+ let previous = (await log.append(new Uint8Array([0]), {
363
+ meta: { next: [] },
364
+ })).entry;
365
+ for (let i = 1; i < joinParents; i++) {
366
+ previous = (await log.append(new Uint8Array([i & 0xff]), {
367
+ meta: { next: [previous] },
368
+ })).entry;
369
+ }
370
+ const started = performance.now();
371
+ await log.append(new Uint8Array([0xff]), {
372
+ meta: { type: EntryType.CUT, next: [previous] },
373
+ });
374
+ const elapsed = performance.now() - started;
375
+ await log.close();
376
+ await store.stop();
377
+ return {
378
+ name: "cut recursive delete plan",
379
+ nativeGraph,
380
+ entries: joinParents,
381
+ iterations: joinParents,
382
+ elapsedMs: Math.round(elapsed),
383
+ opsPerSecond: Math.round((joinParents / elapsed) * 1000),
384
+ };
385
+ };
386
+ for (const nativeGraph of [false, true]) {
387
+ rows.push(await measureCutRecursiveDelete(nativeGraph));
388
+ }
389
+ const measureCutCoveredJoin = async (nativeGraph) => {
390
+ const sourceStore = new AnyBlockStore();
391
+ const targetStore = new AnyBlockStore();
392
+ await sourceStore.start();
393
+ await targetStore.start();
394
+ const source = new Log();
395
+ const target = new Log();
396
+ await source.open(sourceStore, key, {
397
+ appendDurability: "strict",
398
+ indexer: new HashmapIndices(),
399
+ nativeGraph,
400
+ });
401
+ await target.open(targetStore, key, {
402
+ appendDurability: "strict",
403
+ indexer: new HashmapIndices(),
404
+ nativeGraph,
405
+ });
406
+ const { entry: old } = await source.append(new Uint8Array([1]), {
407
+ meta: { next: [] },
408
+ });
409
+ await target.append(new Uint8Array([2]), {
410
+ meta: { type: EntryType.CUT, next: [old] },
411
+ });
412
+ const started = performance.now();
413
+ for (let i = 0; i < iterations; i++) {
414
+ await target.join([old]);
415
+ }
416
+ const elapsed = performance.now() - started;
417
+ await source.close();
418
+ await target.close();
419
+ await sourceStore.stop();
420
+ await targetStore.stop();
421
+ return {
422
+ name: "join cut-covered skip",
423
+ nativeGraph,
424
+ entries: 1,
51
425
  iterations,
52
426
  elapsedMs: Math.round(elapsed),
53
427
  opsPerSecond: Math.round((iterations / elapsed) * 1000),
54
428
  };
55
429
  };
56
- const rows = [];
430
+ for (const nativeGraph of [false, true]) {
431
+ rows.push(await measureCutCoveredJoin(nativeGraph));
432
+ }
57
433
  for (const nativeGraph of [false, true]) {
58
434
  const { log, store } = await createHeadsLog(nativeGraph);
59
435
  rows.push(await measure("getHeads().all()", nativeGraph, async () => {
@@ -62,6 +438,64 @@ for (const nativeGraph of [false, true]) {
62
438
  await log.close();
63
439
  await store.stop();
64
440
  }
441
+ for (const nativeGraph of [false, true]) {
442
+ const { log, store } = await createHeadsLog(nativeGraph);
443
+ rows.push(await measure("getHeads(hash shape).all()", nativeGraph, async () => {
444
+ await log.entryIndex
445
+ .getHeads(undefined, { type: "shape", shape: { hash: true } })
446
+ .all();
447
+ }));
448
+ await log.close();
449
+ await store.stop();
450
+ }
451
+ for (const nativeGraph of [false, true]) {
452
+ const { log, store, gid, hashes } = await createHeadsLog(nativeGraph);
453
+ rows.push(await measure("hasHead()", nativeGraph, async () => {
454
+ await hasHead(log);
455
+ }));
456
+ rows.push(await measure("hasMany(incoming heads)", nativeGraph, async () => {
457
+ await log.hasMany(hashes);
458
+ }, Math.min(iterations, 100)));
459
+ rows.push(await measure("hasAnyHead(refs)", nativeGraph, async () => {
460
+ await hasAnyHead(log, ["missing", gid]);
461
+ }));
462
+ rows.push(await measure("hasAnyHeadBatch(refs)", nativeGraph, async () => {
463
+ await hasAnyHeadBatch(log, [["missing"], ["missing", gid], [gid]]);
464
+ }));
465
+ await log.close();
466
+ await store.stop();
467
+ }
468
+ for (const nativeGraph of [false, true]) {
469
+ const { log, store } = await createReplicaHeadsLog(nativeGraph);
470
+ rows.push(await measure("getHeads(data shape).all()", nativeGraph, async () => {
471
+ await log.entryIndex
472
+ .getHeads(undefined, {
473
+ type: "shape",
474
+ shape: { hash: true, meta: { data: true } },
475
+ })
476
+ .all();
477
+ }));
478
+ await log.close();
479
+ await store.stop();
480
+ }
481
+ for (const nativeGraph of [false, true]) {
482
+ const { log, store, gids } = await createReplicaHeadsLog(nativeGraph);
483
+ rows.push(await measure("getMaxHeadDataU32()", nativeGraph, async () => {
484
+ await getMaxHeadDataU32(log);
485
+ }));
486
+ const batchGids = gids.slice(0, Math.min(gids.length, nativeGraph ? 1_000 : 100));
487
+ const batchIterations = Math.min(iterations, nativeGraph ? 100 : 10);
488
+ rows.push(await measure("getMaxHeadDataU32(gids loop)", nativeGraph, async () => {
489
+ for (const gid of batchGids) {
490
+ await getMaxHeadDataU32(log, gid);
491
+ }
492
+ }, batchIterations));
493
+ rows.push(await measure("getMaxHeadDataU32Batch(gids)", nativeGraph, async () => {
494
+ await getMaxHeadDataU32Batch(log, batchGids);
495
+ }, batchIterations));
496
+ await log.close();
497
+ await store.stop();
498
+ }
65
499
  for (const nativeGraph of [false, true]) {
66
500
  const { log, rootHash, store } = await createChainLog(nativeGraph);
67
501
  rows.push(await measure("countHasNext(root)", nativeGraph, async () => {
@@ -70,5 +504,13 @@ for (const nativeGraph of [false, true]) {
70
504
  await log.close();
71
505
  await store.stop();
72
506
  }
507
+ for (const nativeGraph of [false, true]) {
508
+ const { log, store } = await createHeadsLog(nativeGraph);
509
+ rows.push(await measure("getMemoryUsage()", nativeGraph, async () => {
510
+ await log.entryIndex.getMemoryUsage();
511
+ }));
512
+ await log.close();
513
+ await store.stop();
514
+ }
73
515
  console.table(rows);
74
516
  //# sourceMappingURL=native-graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"native-graph.js","sourceRoot":"","sources":["../../benchmark/native-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-graph.js","sourceRoot":"","sources":["../../benchmark/native-graph.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ export declare class HLC {
27
27
  last?: Timestamp;
28
28
  });
29
29
  now(): Timestamp;
30
+ nowBatch(count: number): Timestamp[];
30
31
  validateOffset(offset: bigint): void;
31
32
  update(other: Timestamp): Timestamp;
32
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../../src/clock.ts"],"names":[],"mappings":"AAgCA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,OAYxE;AAaD,qBACa,SAAS;IAErB,QAAQ,EAAE,MAAM,CAAC;IAGjB,OAAO,EAAE,MAAM,CAAC;gBAEJ,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAK9D,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS;IAQzC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS;IAGxC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS;IAIzC,OAAO,CAAC,KAAK,EAAE,SAAS;IAGxB,KAAK,IAAI,SAAS;IAOlB,QAAQ;CAGR;AAED,qBAAa,GAAG;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yBAAyB,EAAE,MAAM,CAAC;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,MAAM,CAAC;gBAEtB,UAAU,GAAE;QACX,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,IAAI,CAAC,EAAE,SAAS,CAAC;KACZ;IAeP,GAAG;IAIH,cAAc,CAAC,MAAM,EAAE,MAAM;IAY7B,MAAM,CAAC,KAAK,EAAE,SAAS;CAwBvB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;gBACN,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAW7C;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;gBACJ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CASzC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;gBACN,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAS/C;AAED,qBACa,YAAY;IAExB,EAAE,EAAE,UAAU,CAAC;IAGf,SAAS,EAAE,SAAS,CAAC;gBAET,UAAU,EAAE;QAAE,EAAE,EAAE,UAAU,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;KAAE;IAmB1E,KAAK;IAOL,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IAMpC;;;OAGG;IACH,OAAO;IAMP,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY;CAU/C"}
1
+ {"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../../src/clock.ts"],"names":[],"mappings":"AAgCA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,OAYxE;AAaD,qBACa,SAAS;IAErB,QAAQ,EAAE,MAAM,CAAC;IAGjB,OAAO,EAAE,MAAM,CAAC;gBAEJ,UAAU,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAK9D,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS;IAQzC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS;IAGxC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS;IAIzC,OAAO,CAAC,KAAK,EAAE,SAAS;IAGxB,KAAK,IAAI,SAAS;IAOlB,QAAQ;CAGR;AAED,qBAAa,GAAG;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yBAAyB,EAAE,MAAM,CAAC;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,MAAM,CAAC;gBAEtB,UAAU,GAAE;QACX,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,IAAI,CAAC,EAAE,SAAS,CAAC;KACZ;IAeP,GAAG;IAIH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE;IAkCpC,cAAc,CAAC,MAAM,EAAE,MAAM;IAY7B,MAAM,CAAC,KAAK,EAAE,SAAS;CAwBvB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;gBACN,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAW7C;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;gBACJ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CASzC;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;gBACN,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAS/C;AAED,qBACa,YAAY;IAExB,EAAE,EAAE,UAAU,CAAC;IAGf,SAAS,EAAE,SAAS,CAAC;gBAET,UAAU,EAAE;QAAE,EAAE,EAAE,UAAU,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAA;KAAE;IAmB1E,KAAK;IAOL,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IAMpC;;;OAGG;IACH,OAAO;IAMP,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY;CAU/C"}
package/dist/src/clock.js CHANGED
@@ -168,6 +168,38 @@ export class HLC {
168
168
  now() {
169
169
  return this.update(this.last);
170
170
  }
171
+ nowBatch(count) {
172
+ if (count <= 0) {
173
+ return [];
174
+ }
175
+ const last = this.last;
176
+ let wallTime = this.wallTime();
177
+ const offset = last.wallTime - wallTime;
178
+ this.validateOffset(offset);
179
+ let logical;
180
+ if (offset < 0n) {
181
+ logical = 0;
182
+ }
183
+ else {
184
+ wallTime = last.wallTime;
185
+ logical = last.logical + 1;
186
+ }
187
+ const maxWallTime = this.wallTimeUpperBound > 0n ? this.wallTimeUpperBound : UINT64_MAX;
188
+ const timestamps = new Array(count);
189
+ for (let i = 0; i < count; i++) {
190
+ if (logical > UINT32_MAX) {
191
+ wallTime += 1n;
192
+ logical = 0;
193
+ }
194
+ if (wallTime > maxWallTime) {
195
+ throw new WallTimeOverflowError(wallTime, maxWallTime);
196
+ }
197
+ timestamps[i] = new Timestamp({ wallTime, logical });
198
+ logical += 1;
199
+ }
200
+ this.last = timestamps[timestamps.length - 1];
201
+ return timestamps;
202
+ }
171
203
  validateOffset(offset) {
172
204
  if (this.toleratedForwardClockJump > 0n &&
173
205
  -offset > this.toleratedForwardClockJump) {
@@ -1 +1 @@
1
- {"version":3,"file":"clock.js","sourceRoot":"","sources":["../../src/clock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clock.js","sourceRoot":"","sources":["../../src/clock.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export declare const createEntry: <T>(properties: {
22
22
  encoding?: Encoding<T>;
23
23
  canAppend?: CanAppend<T>;
24
24
  encryption?: EntryEncryption;
25
+ deferStore?: boolean;
25
26
  identity: Identity;
26
27
  signers?: ((data: Uint8Array) => Promise<SignatureWithKey> | SignatureWithKey)[];
27
28
  }) => Promise<Promise<Entry<NormalizeBytes<T>>>>;