@peerbit/stream 2.0.6 → 3.0.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/routes.js CHANGED
@@ -2,14 +2,18 @@ import { AbortError, delay } from "@peerbit/time";
2
2
  export const MAX_ROUTE_DISTANCE = Number.MAX_SAFE_INTEGER - 1;
3
3
  export class Routes {
4
4
  me;
5
- // END receiver -> Neighbour
5
+ // FROM -> TO -> { ROUTE INFO, A list of neighbours that we can send data through to reach to}
6
6
  routes = new Map();
7
+ remoteInfo = new Map();
8
+ // Maximum amount of time to retain routes that are not valid anymore
9
+ // once we receive new route info to reach a specific target
7
10
  routeMaxRetentionPeriod;
8
11
  signal;
9
12
  constructor(me, options) {
10
13
  this.me = me;
11
- this.routeMaxRetentionPeriod = options.routeMaxRetentionPeriod;
12
- this.signal = options.signal;
14
+ this.routeMaxRetentionPeriod =
15
+ options?.routeMaxRetentionPeriod ?? 10 * 1000;
16
+ this.signal = options?.signal;
13
17
  }
14
18
  clear() {
15
19
  this.routes.clear();
@@ -42,25 +46,45 @@ export class Routes {
42
46
  }
43
47
  }
44
48
  }
45
- add(from, neighbour, target, distance, session) {
49
+ add(from, neighbour, target, distance, session, remoteSession) {
46
50
  let fromMap = this.routes.get(from);
47
51
  if (!fromMap) {
48
52
  fromMap = new Map();
49
53
  this.routes.set(from, fromMap);
50
54
  }
51
55
  let prev = fromMap.get(target);
56
+ const routeDidExist = prev;
57
+ const isNewSession = !prev || session > prev.session;
52
58
  if (!prev) {
53
- prev = { latestSession: 0, list: [] };
59
+ prev = { session, remoteSession, list: [] };
54
60
  fromMap.set(target, prev);
55
61
  }
56
- if (from === this.me && neighbour === target) {
57
- // force distance to neighbour as targets to always favor directly sending to them
58
- // i.e. if target is our neighbour, always assume the shortest path to them is the direct path
59
- distance = -1;
62
+ if (neighbour === target) {
63
+ if (from === this.me) {
64
+ // force distance to neighbour as targets to always favor directly sending to them
65
+ // i.e. if target is our neighbour, always assume the shortest path to them is the direct path
66
+ distance = -1;
67
+ }
68
+ // we do this since don't care about remote session if the
69
+ //peer is our neighbour since we will always be up to date by connect/disconnect events
70
+ remoteSession = -1;
60
71
  }
72
+ let isNewRemoteSession = false;
73
+ if (routeDidExist) {
74
+ if (prev.remoteSession != -1) {
75
+ // if the remote session is later, we consider that the remote has 'restarted'
76
+ isNewRemoteSession = remoteSession > (prev.remoteSession || -1);
77
+ prev.remoteSession =
78
+ remoteSession === -1
79
+ ? remoteSession
80
+ : Math.max(remoteSession, prev.remoteSession || -1);
81
+ }
82
+ else {
83
+ isNewRemoteSession = false;
84
+ }
85
+ }
86
+ prev.session = Math.max(session, prev.session);
61
87
  // Update routes and cleanup all old routes that are older than latest session - some threshold
62
- const isNewSession = session > prev.latestSession;
63
- prev.latestSession = Math.max(session, prev.latestSession);
64
88
  if (isNewSession) {
65
89
  // Mark previous routes as old
66
90
  const expireAt = +new Date() + this.routeMaxRetentionPeriod;
@@ -86,6 +110,7 @@ export class Routes {
86
110
  }
87
111
  }
88
112
  // Modify list for new/update route
113
+ let exist = false;
89
114
  for (const route of prev.list) {
90
115
  if (route.hash === neighbour) {
91
116
  // if route is faster or just as fast, update existing route
@@ -94,64 +119,80 @@ export class Routes {
94
119
  route.session = session;
95
120
  route.expireAt = undefined; // remove expiry since we updated
96
121
  prev.list.sort((a, b) => a.distance - b.distance);
97
- return;
122
+ return isNewRemoteSession ? "restart" : "updated";
98
123
  }
99
124
  else if (route.distance === distance) {
100
125
  route.session = session;
101
126
  route.expireAt = undefined; // remove expiry since we updated
102
- return;
127
+ return isNewRemoteSession ? "restart" : "updated";
103
128
  }
129
+ exist = true;
104
130
  // else break and push the route as a new route (that ought to be longer)
105
131
  break;
106
132
  }
107
133
  }
108
134
  prev.list.push({ distance, session, hash: neighbour });
109
135
  prev.list.sort((a, b) => a.distance - b.distance);
136
+ return exist ? (isNewRemoteSession ? "restart" : "updated") : "new";
110
137
  }
111
- removeTarget(target) {
112
- this.routes.delete(target);
113
- for (const [fromMapKey, fromMap] of this.routes) {
114
- // delete target
115
- fromMap.delete(target);
116
- if (fromMap.size === 0) {
117
- this.routes.delete(fromMapKey);
118
- }
119
- }
120
- return [target];
121
- }
122
- removeNeighbour(target) {
138
+ /**
139
+ *
140
+ * @param target
141
+ * @returns unreachable nodes (from me) after removal
142
+ */
143
+ remove(target) {
123
144
  this.routes.delete(target);
124
- const maybeUnreachable = new Set([target]);
145
+ const maybeUnreachable = new Set();
146
+ let targetRemoved = false;
125
147
  for (const [fromMapKey, fromMap] of this.routes) {
126
148
  // delete target
127
- fromMap.delete(target);
149
+ const deletedAsTarget = fromMap.delete(target);
150
+ targetRemoved =
151
+ targetRemoved || (deletedAsTarget && fromMapKey === this.me);
128
152
  // delete this as neighbour
129
153
  for (const [remote, neighbours] of fromMap) {
130
- neighbours.list = neighbours.list.filter((x) => x.hash !== target);
154
+ const filtered = neighbours.list.filter((x) => x.hash !== target);
155
+ neighbours.list = filtered;
131
156
  if (neighbours.list.length === 0) {
132
157
  fromMap.delete(remote);
133
- maybeUnreachable.add(remote);
158
+ if (fromMapKey === this.me) {
159
+ // TODO we only return maybeUnreachable if the route starts from me.
160
+ // expected?
161
+ maybeUnreachable.add(remote);
162
+ }
134
163
  }
135
164
  }
136
165
  if (fromMap.size === 0) {
137
166
  this.routes.delete(fromMapKey);
138
167
  }
139
168
  }
169
+ this.remoteInfo.delete(target);
170
+ if (targetRemoved) {
171
+ maybeUnreachable.add(target);
172
+ }
140
173
  return [...maybeUnreachable].filter((x) => !this.isReachable(this.me, x));
141
174
  }
142
175
  findNeighbor(from, target) {
143
176
  return this.routes.get(from)?.get(target);
144
177
  }
145
178
  isReachable(from, target, maxDistance = MAX_ROUTE_DISTANCE) {
146
- return ((this.routes.get(from)?.get(target)?.list[0]?.distance ??
147
- Number.MAX_SAFE_INTEGER) <= maxDistance);
148
- }
149
- hasShortestPath(target) {
150
- const path = this.routes.get(this.me)?.get(target);
151
- if (!path) {
179
+ const remoteInfo = this.remoteInfo.get(target);
180
+ const routeInfo = this.routes.get(from)?.get(target);
181
+ if (!routeInfo) {
182
+ return false;
183
+ }
184
+ if (!remoteInfo) {
185
+ return false;
186
+ }
187
+ if (routeInfo.remoteSession == undefined ||
188
+ remoteInfo.session === undefined) {
189
+ return false;
190
+ }
191
+ if (routeInfo.remoteSession < remoteInfo.session) {
192
+ // route info is older than remote info
152
193
  return false;
153
194
  }
154
- return path.list[0].distance <= 0;
195
+ return ((routeInfo?.list[0]?.distance ?? Number.MAX_SAFE_INTEGER) <= maxDistance);
155
196
  }
156
197
  hasTarget(target) {
157
198
  for (const [k, v] of this.routes) {
@@ -161,11 +202,63 @@ export class Routes {
161
202
  }
162
203
  return false;
163
204
  }
164
- getDependent(target) {
205
+ updateSession(remote, session) {
206
+ if (session == null) {
207
+ this.remoteInfo.delete(remote);
208
+ return false;
209
+ }
210
+ const remoteInfo = this.remoteInfo.get(remote);
211
+ if (remoteInfo) {
212
+ // remote has restartet, mark all routes originating from me to the remote as 'old'
213
+ if (remoteInfo.session === -1) {
214
+ return false;
215
+ }
216
+ if (session === -1) {
217
+ remoteInfo.session = -1;
218
+ return false;
219
+ }
220
+ else {
221
+ if (session > (remoteInfo.session || -1)) {
222
+ remoteInfo.session = session;
223
+ return true;
224
+ }
225
+ return false;
226
+ }
227
+ }
228
+ else if (session !== undefined) {
229
+ this.remoteInfo.set(remote, { session });
230
+ return true;
231
+ }
232
+ return false;
233
+ }
234
+ getSession(remote) {
235
+ return this.remoteInfo.get(remote)?.session;
236
+ }
237
+ isUpToDate(target, route) {
238
+ const peerInfo = this.remoteInfo.get(target);
239
+ return peerInfo?.session != null && route.remoteSession >= peerInfo.session;
240
+ }
241
+ getDependent(peer) {
165
242
  const dependent = [];
166
- for (const [fromMapKey, fromMap] of this.routes) {
167
- if (fromMapKey !== this.me && fromMap.has(target)) {
243
+ outer: for (const [fromMapKey, fromMap] of this.routes) {
244
+ if (fromMapKey !== this.me) {
245
+ continue; // skip this because these routes are starting from me. We are looking for routes that affect others
246
+ }
247
+ // If the route is to the target
248
+ // tell 'from' that it is no longer reachable
249
+ if (fromMap.has(peer)) {
168
250
  dependent.push(fromMapKey);
251
+ continue outer;
252
+ }
253
+ // If the relay is dependent of peer
254
+ // tell 'from' that it is no longer reachable
255
+ for (const [_to, through] of fromMap) {
256
+ for (const neighbour of through.list) {
257
+ if (neighbour.hash === peer) {
258
+ dependent.push(fromMapKey);
259
+ continue outer;
260
+ }
261
+ }
169
262
  }
170
263
  }
171
264
  return dependent;
@@ -219,7 +312,7 @@ export class Routes {
219
312
  fanoutMap.set(neighbour.list[i].hash, fanout);
220
313
  }
221
314
  fanout.set(to, { to, timestamp: session });
222
- if ((distance == 0 && session === neighbour.latestSession) ||
315
+ if ((distance == 0 && session === neighbour.session) ||
223
316
  distance == -1) {
224
317
  foundClosest = true;
225
318
  if (distance == -1) {
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/routes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/stream",
3
- "version": "2.0.6",
3
+ "version": "3.0.1",
4
4
  "description": "A building block for direct streaming protocols",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -50,18 +50,18 @@
50
50
  "dao.xyz"
51
51
  ],
52
52
  "devDependencies": {
53
- "@peerbit/libp2p-test-utils": "2.0.1",
53
+ "@peerbit/libp2p-test-utils": "2.0.2",
54
54
  "@types/yallist": "^4.0.1"
55
55
  },
56
56
  "dependencies": {
57
57
  "@dao-xyz/borsh": "^5.1.8",
58
- "@peerbit/cache": "2.0.1",
59
- "@peerbit/crypto": "2.1.1",
60
- "@peerbit/stream-interface": "^2.0.2",
58
+ "@peerbit/cache": "2.0.2",
59
+ "@peerbit/crypto": "2.1.2",
60
+ "@peerbit/stream-interface": "^3.0.1",
61
61
  "abortable-iterator": "^5.0.1",
62
62
  "libp2p": "^1.1.0",
63
63
  "p-queue": "^8.0.1",
64
64
  "yallist": "^4.0.0"
65
65
  },
66
- "gitHead": "49199539ce93c306bcc1e2055b3b11b66b886d89"
66
+ "gitHead": "a9a953326be9f26ded767042964c1a42451107a4"
67
67
  }