@peerbit/shared-log 1.0.5 → 1.1.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.
- package/lib/esm/index.d.ts +8 -2
- package/lib/esm/index.js +5 -5
- package/lib/esm/index.js.map +1 -1
- package/package.json +5 -5
- package/src/index.ts +13 -10
package/lib/esm/index.d.ts
CHANGED
|
@@ -43,7 +43,10 @@ export declare class SharedLog<T> extends ComposableProgram<Args<T>> {
|
|
|
43
43
|
close(from?: AbstractProgram): Promise<boolean>;
|
|
44
44
|
drop(): Promise<void>;
|
|
45
45
|
_onMessage(msg: TransportMessage, context: QueryContext): Promise<TransportMessage | undefined>;
|
|
46
|
-
getReplicatorsSorted():
|
|
46
|
+
getReplicatorsSorted(): {
|
|
47
|
+
hash: string;
|
|
48
|
+
timestamp: number;
|
|
49
|
+
}[] | undefined;
|
|
47
50
|
isLeader(slot: {
|
|
48
51
|
toString(): string;
|
|
49
52
|
}, numberOfLeaders?: number): Promise<boolean>;
|
|
@@ -61,7 +64,10 @@ export declare class SharedLog<T> extends ComposableProgram<Args<T>> {
|
|
|
61
64
|
* @param channel
|
|
62
65
|
*/
|
|
63
66
|
replicationReorganization(): Promise<boolean>;
|
|
64
|
-
replicators():
|
|
67
|
+
replicators(): {
|
|
68
|
+
hash: string;
|
|
69
|
+
timestamp: number;
|
|
70
|
+
}[][];
|
|
65
71
|
replicator(gid: any): Promise<boolean>;
|
|
66
72
|
_onUnsubscription(evt: CustomEvent<UnsubcriptionEvent>): Promise<void>;
|
|
67
73
|
_onSubscription(evt: CustomEvent<SubscriptionEvent>): Promise<void>;
|
package/lib/esm/index.js
CHANGED
|
@@ -235,7 +235,7 @@ export let SharedLog = class SharedLog extends ComposableProgram {
|
|
|
235
235
|
// same conclusion (are running the same leader selection algorithm)
|
|
236
236
|
const leaders = new Array(numberOfLeaders);
|
|
237
237
|
for (let i = 0; i < numberOfLeaders; i++) {
|
|
238
|
-
leaders[i] = peers[(i + startIndex) % peers.length];
|
|
238
|
+
leaders[i] = peers[(i + startIndex) % peers.length].hash;
|
|
239
239
|
}
|
|
240
240
|
return leaders;
|
|
241
241
|
}
|
|
@@ -250,13 +250,13 @@ export let SharedLog = class SharedLog extends ComposableProgram {
|
|
|
250
250
|
const code = fromHash;
|
|
251
251
|
if (subscribed) {
|
|
252
252
|
// TODO use Set + list for fast lookup
|
|
253
|
-
if (!sortedPeer.find((x) => x === code)) {
|
|
254
|
-
sortedPeer.push(code);
|
|
255
|
-
sortedPeer.sort((a, b) => a.localeCompare(b));
|
|
253
|
+
if (!sortedPeer.find((x) => x.hash === code)) {
|
|
254
|
+
sortedPeer.push({ hash: code, timestamp: +new Date() });
|
|
255
|
+
sortedPeer.sort((a, b) => a.hash.localeCompare(b.hash));
|
|
256
256
|
}
|
|
257
257
|
}
|
|
258
258
|
else {
|
|
259
|
-
const deleteIndex = sortedPeer.findIndex((x) => x === code);
|
|
259
|
+
const deleteIndex = sortedPeer.findIndex((x) => x.hash === code);
|
|
260
260
|
sortedPeer.splice(deleteIndex, 1);
|
|
261
261
|
}
|
|
262
262
|
}
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/shared-log",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Shared log",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
"license": "MIT",
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@dao-xyz/borsh": "^5.1.5",
|
|
35
|
-
"@peerbit/log": "1.0.
|
|
35
|
+
"@peerbit/log": "1.0.6",
|
|
36
36
|
"@peerbit/logger": "1.0.0",
|
|
37
37
|
"@peerbit/program": "1.0.3",
|
|
38
|
-
"@peerbit/rpc": "1.0.
|
|
38
|
+
"@peerbit/rpc": "1.0.6",
|
|
39
39
|
"@peerbit/time": "1.0.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@peerbit/test-utils": "^1.0.
|
|
42
|
+
"@peerbit/test-utils": "^1.0.6"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "c1a13f3612fcf9490632b26e147227cd4e7f1c53"
|
|
45
45
|
}
|
package/src/index.ts
CHANGED
|
@@ -38,7 +38,6 @@ import {
|
|
|
38
38
|
createExchangeHeadsMessage,
|
|
39
39
|
} from "./exchange-heads.js";
|
|
40
40
|
import {
|
|
41
|
-
Subscription,
|
|
42
41
|
SubscriptionEvent,
|
|
43
42
|
UnsubcriptionEvent,
|
|
44
43
|
} from "@peerbit/pubsub-interface";
|
|
@@ -92,7 +91,7 @@ export class SharedLog<T> extends ComposableProgram<Args<T>> {
|
|
|
92
91
|
private _sync?: SyncFilter;
|
|
93
92
|
private _role: Role;
|
|
94
93
|
|
|
95
|
-
private _sortedPeersCache: string[] | undefined;
|
|
94
|
+
private _sortedPeersCache: { hash: string; timestamp: number }[] | undefined;
|
|
96
95
|
private _lastSubscriptionMessageId: number;
|
|
97
96
|
private _gidPeersHistory: Map<string, Set<string>>;
|
|
98
97
|
|
|
@@ -327,7 +326,7 @@ export class SharedLog<T> extends ComposableProgram<Args<T>> {
|
|
|
327
326
|
}
|
|
328
327
|
}
|
|
329
328
|
|
|
330
|
-
getReplicatorsSorted(): string[] | undefined {
|
|
329
|
+
getReplicatorsSorted(): { hash: string; timestamp: number }[] | undefined {
|
|
331
330
|
return this._sortedPeersCache;
|
|
332
331
|
}
|
|
333
332
|
|
|
@@ -347,7 +346,8 @@ export class SharedLog<T> extends ComposableProgram<Args<T>> {
|
|
|
347
346
|
): Promise<string[]> {
|
|
348
347
|
// For a fixed set or members, the choosen leaders will always be the same (address invariant)
|
|
349
348
|
// This allows for that same content is always chosen to be distributed to same peers, to remove unecessary copies
|
|
350
|
-
const peers: string
|
|
349
|
+
const peers: { hash: string; timestamp: number }[] =
|
|
350
|
+
this.getReplicatorsSorted() || [];
|
|
351
351
|
|
|
352
352
|
if (peers.length === 0) {
|
|
353
353
|
return [];
|
|
@@ -372,7 +372,7 @@ export class SharedLog<T> extends ComposableProgram<Args<T>> {
|
|
|
372
372
|
// same conclusion (are running the same leader selection algorithm)
|
|
373
373
|
const leaders = new Array(numberOfLeaders);
|
|
374
374
|
for (let i = 0; i < numberOfLeaders; i++) {
|
|
375
|
-
leaders[i] = peers[(i + startIndex) % peers.length];
|
|
375
|
+
leaders[i] = peers[(i + startIndex) % peers.length].hash;
|
|
376
376
|
}
|
|
377
377
|
return leaders;
|
|
378
378
|
}
|
|
@@ -388,12 +388,12 @@ export class SharedLog<T> extends ComposableProgram<Args<T>> {
|
|
|
388
388
|
const code = fromHash;
|
|
389
389
|
if (subscribed) {
|
|
390
390
|
// TODO use Set + list for fast lookup
|
|
391
|
-
if (!sortedPeer.find((x) => x === code)) {
|
|
392
|
-
sortedPeer.push(code);
|
|
393
|
-
sortedPeer.sort((a, b) => a.localeCompare(b));
|
|
391
|
+
if (!sortedPeer.find((x) => x.hash === code)) {
|
|
392
|
+
sortedPeer.push({ hash: code, timestamp: +new Date() });
|
|
393
|
+
sortedPeer.sort((a, b) => a.hash.localeCompare(b.hash));
|
|
394
394
|
}
|
|
395
395
|
} else {
|
|
396
|
-
const deleteIndex = sortedPeer.findIndex((x) => x === code);
|
|
396
|
+
const deleteIndex = sortedPeer.findIndex((x) => x.hash === code);
|
|
397
397
|
sortedPeer.splice(deleteIndex, 1);
|
|
398
398
|
}
|
|
399
399
|
}
|
|
@@ -549,13 +549,16 @@ export class SharedLog<T> extends ComposableProgram<Args<T>> {
|
|
|
549
549
|
const numberOfGroups = Math.min(
|
|
550
550
|
Math.ceil(replicators!.length / minReplicas)
|
|
551
551
|
);
|
|
552
|
-
const groups = new Array<string[]>(
|
|
552
|
+
const groups = new Array<{ hash: string; timestamp: number }[]>(
|
|
553
|
+
numberOfGroups
|
|
554
|
+
);
|
|
553
555
|
for (let i = 0; i < groups.length; i++) {
|
|
554
556
|
groups[i] = [];
|
|
555
557
|
}
|
|
556
558
|
for (let i = 0; i < replicators!.length; i++) {
|
|
557
559
|
groups[i % numberOfGroups].push(replicators![i]);
|
|
558
560
|
}
|
|
561
|
+
|
|
559
562
|
return groups;
|
|
560
563
|
}
|
|
561
564
|
async replicator(gid) {
|