@peerbit/shared-log 13.2.24 → 13.2.26
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/dist/src/checked-prune.d.ts +12 -0
- package/dist/src/checked-prune.d.ts.map +1 -1
- package/dist/src/checked-prune.js +33 -0
- package/dist/src/checked-prune.js.map +1 -1
- package/dist/src/coordinate-persistence.d.ts +211 -0
- package/dist/src/coordinate-persistence.d.ts.map +1 -0
- package/dist/src/coordinate-persistence.js +1133 -0
- package/dist/src/coordinate-persistence.js.map +1 -0
- package/dist/src/errors.d.ts +1 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +19 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +127 -133
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1400 -4269
- package/dist/src/index.js.map +1 -1
- package/dist/src/instance-lifecycle.d.ts +117 -0
- package/dist/src/instance-lifecycle.d.ts.map +1 -0
- package/dist/src/instance-lifecycle.js +254 -0
- package/dist/src/instance-lifecycle.js.map +1 -0
- package/dist/src/join-warmup.d.ts +86 -0
- package/dist/src/join-warmup.d.ts.map +1 -0
- package/dist/src/join-warmup.js +351 -0
- package/dist/src/join-warmup.js.map +1 -0
- package/dist/src/native-write-through-block-store.d.ts +123 -0
- package/dist/src/native-write-through-block-store.d.ts.map +1 -0
- package/dist/src/native-write-through-block-store.js +989 -0
- package/dist/src/native-write-through-block-store.js.map +1 -0
- package/dist/src/peer-session.d.ts +117 -0
- package/dist/src/peer-session.d.ts.map +1 -0
- package/dist/src/peer-session.js +259 -0
- package/dist/src/peer-session.js.map +1 -0
- package/dist/src/replication-announcement.d.ts +116 -0
- package/dist/src/replication-announcement.d.ts.map +1 -0
- package/dist/src/replication-announcement.js +515 -0
- package/dist/src/replication-announcement.js.map +1 -0
- package/dist/src/replicator-liveness.d.ts +59 -0
- package/dist/src/replicator-liveness.d.ts.map +1 -0
- package/dist/src/replicator-liveness.js +304 -0
- package/dist/src/replicator-liveness.js.map +1 -0
- package/dist/src/sync/dispatch-lifecycle.d.ts +48 -0
- package/dist/src/sync/dispatch-lifecycle.d.ts.map +1 -0
- package/dist/src/sync/dispatch-lifecycle.js +141 -0
- package/dist/src/sync/dispatch-lifecycle.js.map +1 -0
- package/dist/src/sync/factory.d.ts +29 -0
- package/dist/src/sync/factory.d.ts.map +1 -0
- package/dist/src/sync/factory.js +87 -0
- package/dist/src/sync/factory.js.map +1 -0
- package/dist/src/sync/pending-sync-store.d.ts +105 -0
- package/dist/src/sync/pending-sync-store.d.ts.map +1 -0
- package/dist/src/sync/pending-sync-store.js +877 -0
- package/dist/src/sync/pending-sync-store.js.map +1 -0
- package/dist/src/sync/rateless-iblt.d.ts +4 -1
- package/dist/src/sync/rateless-iblt.d.ts.map +1 -1
- package/dist/src/sync/rateless-iblt.js +102 -106
- package/dist/src/sync/rateless-iblt.js.map +1 -1
- package/dist/src/sync/simple.d.ts +10 -41
- package/dist/src/sync/simple.d.ts.map +1 -1
- package/dist/src/sync/simple.js +259 -952
- package/dist/src/sync/simple.js.map +1 -1
- package/dist/src/sync/sync-peer-state.d.ts +16 -0
- package/dist/src/sync/sync-peer-state.d.ts.map +1 -0
- package/dist/src/sync/sync-peer-state.js +82 -0
- package/dist/src/sync/sync-peer-state.js.map +1 -0
- package/package.json +12 -12
- package/src/checked-prune.ts +35 -0
- package/src/coordinate-persistence.ts +1796 -0
- package/src/errors.ts +21 -0
- package/src/index.ts +4014 -7858
- package/src/instance-lifecycle.ts +351 -0
- package/src/join-warmup.ts +507 -0
- package/src/native-write-through-block-store.ts +1170 -0
- package/src/peer-session.ts +336 -0
- package/src/replication-announcement.ts +744 -0
- package/src/replicator-liveness.ts +439 -0
- package/src/sync/dispatch-lifecycle.ts +230 -0
- package/src/sync/factory.ts +154 -0
- package/src/sync/pending-sync-store.ts +1085 -0
- package/src/sync/rateless-iblt.ts +122 -132
- package/src/sync/simple.ts +334 -1144
- package/src/sync/sync-peer-state.ts +107 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/sync/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { Cache } from "@peerbit/cache";
|
|
2
|
+
import type { PublicSignKey } from "@peerbit/crypto";
|
|
3
|
+
import type { SyncableKey } from "./index.js";
|
|
4
|
+
export declare const QUEUED_SYNC_ALIAS_REFRESH_PENDING: unique symbol;
|
|
5
|
+
export declare const PENDING_SIMPLE_SYNC_KEY_TTL_MS = 60000;
|
|
6
|
+
export type PendingSyncAdmissionReservation = {
|
|
7
|
+
peer: string;
|
|
8
|
+
remaining: number;
|
|
9
|
+
active: boolean;
|
|
10
|
+
released: boolean;
|
|
11
|
+
expiresAt: number;
|
|
12
|
+
identities: Set<SyncableKey>;
|
|
13
|
+
retainedSettled: number;
|
|
14
|
+
};
|
|
15
|
+
export type PendingSyncRecord = {
|
|
16
|
+
kind: "key";
|
|
17
|
+
key: SyncableKey;
|
|
18
|
+
peers: PublicSignKey[];
|
|
19
|
+
claimants: Set<string>;
|
|
20
|
+
claimantIndexes: Map<string, number>;
|
|
21
|
+
rrCursor: number;
|
|
22
|
+
expiresAt: number;
|
|
23
|
+
heapIndex: number;
|
|
24
|
+
};
|
|
25
|
+
type PendingSyncAdmissionExpiryNode = {
|
|
26
|
+
kind: "admission";
|
|
27
|
+
reservation: PendingSyncAdmissionReservation;
|
|
28
|
+
expiresAt: number;
|
|
29
|
+
heapIndex: number;
|
|
30
|
+
};
|
|
31
|
+
type PendingSyncExpiryNode = PendingSyncRecord | PendingSyncAdmissionExpiryNode;
|
|
32
|
+
export type PendingSyncStoreDeps = {
|
|
33
|
+
coordinateToHash: Cache<string>;
|
|
34
|
+
isDispatchEpochCurrent: (peer: string, epoch: unknown) => boolean;
|
|
35
|
+
};
|
|
36
|
+
export declare class PendingSyncStore {
|
|
37
|
+
private readonly deps;
|
|
38
|
+
syncInFlightQueue: Map<SyncableKey, PublicSignKey[]>;
|
|
39
|
+
syncInFlightQueueInverted: Map<string, Set<SyncableKey>>;
|
|
40
|
+
syncInFlightQueueExpiresAt: Map<SyncableKey, number>;
|
|
41
|
+
records: Map<SyncableKey, PendingSyncRecord>;
|
|
42
|
+
pendingSyncExpiryHeap: PendingSyncExpiryNode[];
|
|
43
|
+
syncInFlightQueueExpiryTimer?: ReturnType<typeof setTimeout>;
|
|
44
|
+
pendingSyncAdmissionExpiryNodes: Map<PendingSyncAdmissionReservation, PendingSyncAdmissionExpiryNode>;
|
|
45
|
+
syncInFlightQueuedCoordinates: Set<bigint>;
|
|
46
|
+
syncInFlightQueuedHashByCoordinate: Map<bigint, string>;
|
|
47
|
+
syncInFlightQueuedCoordinatesByHash: Map<string, Set<bigint>>;
|
|
48
|
+
syncInFlightQueuedCoordinateRefreshIterator?: IterableIterator<bigint>;
|
|
49
|
+
pendingSyncClaimCount: number;
|
|
50
|
+
pendingSyncAdmissionCount: number;
|
|
51
|
+
pendingSyncActiveAdmissionReservations: number;
|
|
52
|
+
pendingSyncAdmissionCountByPeer: Map<string, number>;
|
|
53
|
+
pendingSyncAdmissionIdentitiesByPeer: Map<string, Set<SyncableKey>>;
|
|
54
|
+
pendingSyncAdmissionReservations: Set<PendingSyncAdmissionReservation>;
|
|
55
|
+
pendingSyncAdmissionReservationsByPeer: Map<string, Set<PendingSyncAdmissionReservation>>;
|
|
56
|
+
pendingSyncAdmissionReservationsByIdentity: Map<SyncableKey, Set<PendingSyncAdmissionReservation>>;
|
|
57
|
+
syncInFlight: Map<string, Map<SyncableKey, {
|
|
58
|
+
timestamp: number;
|
|
59
|
+
}>>;
|
|
60
|
+
syncInFlightTargetsByKey: Map<SyncableKey, Set<string>>;
|
|
61
|
+
constructor(deps: PendingSyncStoreDeps);
|
|
62
|
+
private hydrateRecordFromQueue;
|
|
63
|
+
getPendingSyncKeyIdentity(key: SyncableKey): SyncableKey;
|
|
64
|
+
private removeQueuedSyncCoordinateAlias;
|
|
65
|
+
private refreshQueuedSyncCoordinateAlias;
|
|
66
|
+
private reconcileQueuedSyncCoordinateAlias;
|
|
67
|
+
refreshQueuedSyncCoordinateAliases(): void;
|
|
68
|
+
getQueuedSyncKeyForAdmission(key: SyncableKey): SyncableKey | typeof QUEUED_SYNC_ALIAS_REFRESH_PENDING | undefined;
|
|
69
|
+
addPendingSyncClaim(key: SyncableKey, from: PublicSignKey, expiresAt?: number): boolean;
|
|
70
|
+
hasPendingSyncClaim(key: SyncableKey, peer: string): boolean;
|
|
71
|
+
filterDispatchablePendingSyncClaims(keys: SyncableKey[], peer: string, epoch: unknown): SyncableKey[];
|
|
72
|
+
getRoundRobinCursor(key: SyncableKey): number;
|
|
73
|
+
setRoundRobinCursor(key: SyncableKey, cursor: number): void;
|
|
74
|
+
reservePendingSyncAdmission(peer: string, identities: SyncableKey[]): PendingSyncAdmissionReservation | undefined;
|
|
75
|
+
private removePendingSyncAdmissionIdentity;
|
|
76
|
+
clearPendingSyncAdmissionIdentity(identity: SyncableKey): void;
|
|
77
|
+
consumePendingSyncAdmission(reservation: PendingSyncAdmissionReservation, identity: SyncableKey): "consumed" | "settled" | "invalid";
|
|
78
|
+
transferPendingSyncAdmissionIdentity(peer: string, identity: SyncableKey): number | undefined;
|
|
79
|
+
invalidatePendingSyncAdmission(reservation?: PendingSyncAdmissionReservation): void;
|
|
80
|
+
releasePendingSyncAdmission(reservation?: PendingSyncAdmissionReservation): void;
|
|
81
|
+
clearPendingSyncAdmissions(peer?: string): void;
|
|
82
|
+
private swapPendingSyncExpiry;
|
|
83
|
+
private pushPendingSyncExpiry;
|
|
84
|
+
private removePendingSyncExpiry;
|
|
85
|
+
movePendingSyncKeyExpiryEarlier(key: SyncableKey, expiresAt: number): void;
|
|
86
|
+
private removePendingSyncAdmissionExpiry;
|
|
87
|
+
expirePendingSyncKeys(now?: number): void;
|
|
88
|
+
clearPendingSyncExpiryTimerIfIdle(): void;
|
|
89
|
+
private schedulePendingSyncKeyExpiry;
|
|
90
|
+
hasSyncProcessState(): boolean;
|
|
91
|
+
clearSyncProcessKey(key: SyncableKey): void;
|
|
92
|
+
removePendingSyncClaim(key: SyncableKey, peer: string): void;
|
|
93
|
+
removeClaimsForPeer(publicKeyHash: string): void;
|
|
94
|
+
removeSyncInFlightTargetKey(peer: string, key: SyncableKey): void;
|
|
95
|
+
setSyncInFlightTargetKey(peer: string, key: SyncableKey, timestamp: number): void;
|
|
96
|
+
clearSyncInFlightTarget(peer: string): void;
|
|
97
|
+
private clearSyncInFlightKey;
|
|
98
|
+
private forEachKnownAlias;
|
|
99
|
+
clearSyncInFlightForPeerHashes(publicKeyHash: string, hashes: string[]): void;
|
|
100
|
+
clearSyncProcess(hash: string): void;
|
|
101
|
+
clearSyncProcesses(hashes: string[]): void;
|
|
102
|
+
clearForClose(): void;
|
|
103
|
+
}
|
|
104
|
+
export {};
|
|
105
|
+
//# sourceMappingURL=pending-sync-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-sync-store.d.ts","sourceRoot":"","sources":["../../../src/sync/pending-sync-store.ts"],"names":[],"mappings":"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"}
|