@peerbit/shared-log 7.0.10 → 7.0.11

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/ranges.js CHANGED
@@ -1,25 +1,37 @@
1
- import { containsPoint } from "./role.js";
2
- export const collectNodesAroundPoint = (time, roleAge, peers, currentNode, collector, point, once = false) => {
3
- let matured = 0;
4
- const maybeIncrementMatured = (role) => {
5
- if (isMatured(role, time, roleAge)) {
6
- matured++;
7
- return true;
8
- }
1
+ export const containsPoint = (rect, point, eps = 0.00001 // we do this to handle numerical errors
2
+ ) => {
3
+ if (rect.factor === 0) {
9
4
  return false;
5
+ }
6
+ const start = rect.offset;
7
+ const width = rect.factor + eps; // we do this to handle numerical errors. It is better to be more inclusive
8
+ const endUnwrapped = rect.offset + width;
9
+ let end = endUnwrapped;
10
+ let wrapped = false;
11
+ if (endUnwrapped > 1) {
12
+ end = endUnwrapped % 1;
13
+ wrapped = true;
14
+ }
15
+ const inFirstInterval = point >= start && point < Math.min(endUnwrapped, 1);
16
+ const inSecondInterval = !inFirstInterval && wrapped && point >= 0 && point < end;
17
+ return inFirstInterval || inSecondInterval;
18
+ };
19
+ const collectNodesAroundPoint = (time, roleAge, peers, currentNode, collector, point, done = () => true) => {
20
+ /* let uniqueMatured = 0;
21
+ */ const maybeIncrementMatured = (rect) => {
22
+ const isMature = isMatured(rect.role, time, roleAge);
23
+ collector(rect, isMature);
10
24
  };
11
25
  // Assume peers does not mutate during this loop
12
26
  const startNode = currentNode;
13
27
  const diffs = [];
14
28
  while (currentNode) {
15
29
  if (containsPoint(currentNode.value.role, point)) {
16
- collector.add(currentNode.value.publicKey.hashcode());
17
- if (maybeIncrementMatured(currentNode.value.role)) {
18
- if (once) {
19
- return;
20
- }
30
+ maybeIncrementMatured(currentNode.value);
31
+ if (done(false)) {
32
+ return;
21
33
  }
22
- }
34
+ } /* if (matured === 0) */
23
35
  else {
24
36
  const start = currentNode.value.role.offset;
25
37
  const end = (currentNode.value.role.offset + currentNode.value.role.factor) % 1;
@@ -38,21 +50,56 @@ export const collectNodesAroundPoint = (time, roleAge, peers, currentNode, colle
38
50
  break; // TODO throw error for failing to fetch ffull width
39
51
  }
40
52
  }
41
- if (matured === 0) {
53
+ if (done(true) == false) {
42
54
  diffs.sort((x, y) => x.diff - y.diff);
43
55
  for (const node of diffs) {
44
- collector.add(node.rect.publicKey.hashcode());
45
- maybeIncrementMatured(node.rect.role);
46
- if (matured > 0) {
56
+ maybeIncrementMatured(node.rect);
57
+ if (done(true)) {
47
58
  break;
48
59
  }
49
60
  }
50
61
  }
51
62
  };
52
- const isMatured = (role, now, minAge) => {
63
+ export const isMatured = (role, now, minAge) => {
53
64
  return now - Number(role.timestamp) >= minAge;
54
65
  };
66
+ export const getSamples = (cursor, peers, amount, roleAge, dbg) => {
67
+ const leaders = new Set();
68
+ const width = 1;
69
+ if (!peers || peers?.length === 0) {
70
+ return [];
71
+ }
72
+ amount = Math.min(amount, peers.length);
73
+ const t = +new Date();
74
+ const matured = 0;
75
+ const maturedLeaders = new Set();
76
+ for (let i = 0; i < amount; i++) {
77
+ // evenly distributed
78
+ const point = ((cursor + i / amount) % 1) * width;
79
+ const currentNode = peers.head;
80
+ // aquire at least one unique node for each point
81
+ // but if previous point yielded more than one node
82
+ collectNodesAroundPoint(t, roleAge, peers, currentNode, (rect, m) => {
83
+ if (m) {
84
+ maturedLeaders.add(rect.publicKey.hashcode());
85
+ }
86
+ leaders.add(rect.publicKey.hashcode());
87
+ }, point, (postProcess) => {
88
+ if (postProcess) {
89
+ if (maturedLeaders.size > i) {
90
+ return true;
91
+ }
92
+ }
93
+ return false; // collect all intersecting points
94
+ });
95
+ }
96
+ return [...leaders];
97
+ };
55
98
  export const getCover = (coveringWidth, peers, roleAge, startNodeIdentity) => {
99
+ return [...getCoverSet(coveringWidth, peers, roleAge, startNodeIdentity)];
100
+ };
101
+ export const getCoverSet = (coveringWidth, peers, roleAge, startNodeIdentity) => {
102
+ // find a good starting point
56
103
  let walker = peers.head;
57
104
  if (startNodeIdentity) {
58
105
  // start at our node (local first)
@@ -77,35 +124,30 @@ export const getCover = (coveringWidth, peers, roleAge, startNodeIdentity) => {
77
124
  }
78
125
  const startNode = walker;
79
126
  if (!startNode) {
80
- return [];
127
+ return new Set();
81
128
  }
129
+ //
82
130
  const set = new Set();
83
131
  let currentNode = startNode;
84
- /**
85
- * The purpose of this loop is to cover at least coveringWidth
86
- * so that if we query all nodes in this range, we know we will
87
- * "query" all data in that range
88
- */
89
- let wrapped = false;
132
+ const t = +new Date();
133
+ let wrappedOnce = false;
134
+ const startPoint = startNode.value.role.offset;
90
135
  const getNextPoint = () => {
91
136
  let nextPoint = currentNode.value.role.offset + currentNode.value.role.factor;
92
- if (nextPoint > 1) {
93
- wrapped = true;
94
- nextPoint = nextPoint % 1;
137
+ if (nextPoint > 1 || nextPoint < startPoint) {
138
+ wrappedOnce = true;
95
139
  }
96
- let distance;
97
- if (wrapped) {
98
- distance = 1 - startNode.value.role.offset + nextPoint;
140
+ nextPoint = nextPoint % 1;
141
+ let distanceStart;
142
+ if (wrappedOnce) {
143
+ distanceStart = (1 - startPoint + currentNode.value.role.offset) % 1;
99
144
  }
100
145
  else {
101
- distance =
102
- currentNode.value.role.offset -
103
- startNode.value.role.offset +
104
- currentNode.value.role.factor;
146
+ distanceStart = (currentNode.value.role.offset - startPoint) % 1;
105
147
  }
106
- return [nextPoint, distance, wrapped];
148
+ const distanceEnd = distanceStart + currentNode.value.role.factor;
149
+ return [nextPoint, distanceStart, distanceEnd, wrappedOnce];
107
150
  };
108
- const t = +new Date();
109
151
  const getNextMatured = (from) => {
110
152
  let next = (from.next || peers.head);
111
153
  while (!next.value.publicKey.equals(from.value.publicKey) &&
@@ -117,12 +159,20 @@ export const getCover = (coveringWidth, peers, roleAge, startNodeIdentity) => {
117
159
  }
118
160
  return undefined;
119
161
  };
162
+ /**
163
+ * The purpose of this loop is to cover at least coveringWidth
164
+ * so that if we query all nodes in this range, we know we will
165
+ * "query" all data in that range
166
+ */
167
+ let isPastThePoint = false;
120
168
  outer: while (currentNode) {
121
169
  if (set.has(currentNode.value.publicKey.hashcode()))
122
170
  break;
123
- set.add(currentNode.value.publicKey.hashcode());
124
- const [nextPoint, distance, wrapped] = getNextPoint();
125
- if (distance >= coveringWidth) {
171
+ const [nextPoint, distanceStart, distanceEnd, wrapped] = getNextPoint();
172
+ if (distanceStart <= coveringWidth) {
173
+ set.add(currentNode.value.publicKey.hashcode());
174
+ }
175
+ if (distanceEnd >= coveringWidth) {
126
176
  break;
127
177
  }
128
178
  let next = currentNode.next || peers.head;
@@ -130,40 +180,68 @@ export const getCover = (coveringWidth, peers, roleAge, startNodeIdentity) => {
130
180
  if (next.value.publicKey.equals(startNode.value.publicKey)) {
131
181
  break outer;
132
182
  }
133
- if (next.value.role.offset < nextPoint &&
134
- (next.value.role.offset > currentNode.value.role.offset || wrapped)) {
135
- if (next.value.role.offset + next.value.role.factor > nextPoint) {
136
- // Find out if there is a better choice ahead of us
137
- const nextNext = getNextMatured(next);
138
- if (nextNext &&
139
- !nextNext.value.publicKey.equals(currentNode.value.publicKey) &&
140
- nextNext.value.role.offset < nextPoint &&
141
- nextNext.value.role.offset + nextNext.value.role.factor > nextPoint) {
142
- // nextNext is better (continue to iterate)
143
- }
144
- else {
145
- // done
146
- break;
147
- }
183
+ const prevOffset = (next.prev || peers.tail).value.role.offset;
184
+ const nextOffset = next.value.role.offset;
185
+ const nextHasWrapped = nextOffset < prevOffset;
186
+ if ((!wrapped && nextOffset > nextPoint) ||
187
+ (nextHasWrapped &&
188
+ (wrapped ? nextOffset > nextPoint : prevOffset < nextPoint)) ||
189
+ (!nextHasWrapped && prevOffset < nextPoint && nextPoint <= nextOffset)) {
190
+ isPastThePoint = true;
191
+ }
192
+ if (isPastThePoint) {
193
+ break; // include this next in the set;
194
+ }
195
+ const overlapsRange = containsPoint(next.value.role, nextPoint);
196
+ if (overlapsRange) {
197
+ // Find out if there is a better choice ahead of us
198
+ const nextNext = getNextMatured(next);
199
+ if (nextNext &&
200
+ !nextNext.value.publicKey.equals(currentNode.value.publicKey) &&
201
+ nextNext.value.role.offset < nextPoint &&
202
+ nextNext.value.role.offset + nextNext.value.role.factor > nextPoint) {
203
+ // nextNext is better (continue to iterate)
148
204
  }
149
205
  else {
150
- // (continue to iterate)
206
+ // done
207
+ break;
151
208
  }
152
209
  }
153
210
  else {
154
- // we got the best choice
155
- break;
211
+ // (continue to iterate)
156
212
  }
157
- next = next.next;
213
+ next = next.next || peers.head;
158
214
  }
159
215
  currentNode = next;
160
216
  }
161
- // collect around the boundary of the start
162
- collectNodesAroundPoint(t, roleAge, peers, isMatured(startNode.value.role, t, roleAge) ? startNode : peers.head, // start at startNode is matured, else start at head (we only seek to find one matured node at the point)
163
- set, startNode.value.role.offset, true);
164
- // collect around the boundary of the end
165
- collectNodesAroundPoint(t, roleAge, peers, startNode, // start somewhere close to the border
166
- set, (startNode.value.role.offset + coveringWidth) % 1, true);
167
- return [...set];
217
+ // collect 1 point around the boundary of the start and one at the end,
218
+ // preferrd matured and that we already have it
219
+ for (const point of [
220
+ startNode.value.role.offset,
221
+ (startNode.value.role.offset + coveringWidth) % 1
222
+ ]) {
223
+ let done = false;
224
+ const unmatured = [];
225
+ collectNodesAroundPoint(t, roleAge, peers, isMatured(startNode.value.role, t, roleAge) ? startNode : peers.head, // start at startNode is matured, else start at head (we only seek to find one matured node at the point)
226
+ (rect, matured) => {
227
+ if (matured) {
228
+ if (set.has(rect.publicKey.hashcode())) {
229
+ // great!
230
+ }
231
+ else {
232
+ set.add(rect.publicKey.hashcode());
233
+ }
234
+ done = true;
235
+ }
236
+ else {
237
+ unmatured.push(rect.publicKey.hashcode());
238
+ }
239
+ }, point, () => done);
240
+ if (!done && unmatured.length > 0) {
241
+ set.add(unmatured[0]);
242
+ // TODO add more elements?
243
+ }
244
+ }
245
+ return set;
168
246
  };
169
247
  //# sourceMappingURL=ranges.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ranges.js","sourceRoot":"","sources":["../../src/ranges.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ranges.js","sourceRoot":"","sources":["../../src/ranges.ts"],"names":[],"mappings":"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"}
package/lib/esm/role.d.ts CHANGED
@@ -1,7 +1,4 @@
1
- export declare const containsPoint: (rect: {
2
- offset: number;
3
- factor: number;
4
- }, point: number) => boolean;
1
+ export declare const overlaps: (x1: number, x2: number, y1: number, y2: number) => boolean;
5
2
  export declare abstract class Role {
6
3
  abstract equals(other: Role): any;
7
4
  }
package/lib/esm/role.js CHANGED
@@ -9,23 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  var NoType_1, Observer_1, Replicator_1;
11
11
  import { field, variant, vec } from "@dao-xyz/borsh";
12
- export const containsPoint = (rect, point) => {
13
- if (rect.factor === 0) {
14
- return false;
15
- }
16
- const start = rect.offset;
17
- const endUnwrapped = rect.offset + rect.factor;
18
- let end = endUnwrapped;
19
- let wrapped = false;
20
- if (endUnwrapped > 1) {
21
- end = endUnwrapped % 1;
22
- wrapped = true;
23
- }
24
- const inFirstInterval = point >= start && point < Math.min(endUnwrapped, 1);
25
- const inSecondInterval = !inFirstInterval && wrapped && point >= 0 && point < end;
26
- return inFirstInterval || inSecondInterval;
27
- };
28
- const overlaps = (x1, x2, y1, y2) => {
12
+ export const overlaps = (x1, x2, y1, y2) => {
29
13
  if (x1 <= y2 && y1 <= x2) {
30
14
  return true;
31
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"role.js","sourceRoot":"","sources":["../../src/role.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role.js","sourceRoot":"","sources":["../../src/role.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": "7.0.10",
3
+ "version": "7.0.11",
4
4
  "description": "Shared log",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -31,15 +31,15 @@
31
31
  "license": "MIT",
32
32
  "dependencies": {
33
33
  "@dao-xyz/borsh": "^5.2.1",
34
- "@peerbit/log": "3.0.25",
34
+ "@peerbit/log": "3.0.26",
35
35
  "@peerbit/logger": "1.0.2",
36
36
  "@peerbit/program": "3.0.20",
37
- "@peerbit/rpc": "3.0.24",
37
+ "@peerbit/rpc": "3.0.25",
38
38
  "@peerbit/time": "2.0.6",
39
39
  "p-debounce": "^4.0.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@peerbit/test-utils": "^2.0.24"
42
+ "@peerbit/test-utils": "^2.0.25"
43
43
  },
44
- "gitHead": "2ba4c5e5d682895614713cbef6c779f44508291d"
44
+ "gitHead": "a4da18ebc1b18e79693f96a79f2d7a83a35b0d29"
45
45
  }