@peerbit/stream 5.1.5 → 5.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.
@@ -265,7 +265,15 @@ export interface DirectStreamComponents {
265
265
  events: TypedEventTarget<Libp2pEvents>;
266
266
  privateKey: PrivateKey;
267
267
  }
268
- export type PublishOptions = (WithMode | WithTo) & PriorityOptions & ResponsePriorityOptions & ExpiresAtOptions & WithExtraSigners;
268
+ export type PublishOptions = (WithMode | WithTo) & PriorityOptions & ResponsePriorityOptions & ExpiresAtOptions & ExpiresInOptions & WithExtraSigners;
269
+ /**
270
+ * Sets an expiry relative to the timestamp captured in the signed message
271
+ * header. This avoids caller-side clock drift between computing an absolute
272
+ * expiry and constructing the header.
273
+ */
274
+ export type ExpiresInOptions = {
275
+ expiresInMs?: number;
276
+ };
269
277
  export declare abstract class DirectStream<Events extends {
270
278
  [s: string]: any;
271
279
  } = StreamEvents> extends TypedEventEmitter<Events> implements WaitForPeer, PublicKeyFromHashResolver {
@@ -305,6 +313,7 @@ export declare abstract class DirectStream<Events extends {
305
313
  private prunedConnectionsCache?;
306
314
  private pruneToLimitsInFlight?;
307
315
  private _startInFlight?;
316
+ private _stopInFlight?;
308
317
  private routeMaxRetentionPeriod;
309
318
  private routeCacheMaxFromEntries?;
310
319
  private routeCacheMaxTargetsPerFrom?;
@@ -358,6 +367,8 @@ export declare abstract class DirectStream<Events extends {
358
367
  * Unregister the pubsub protocol and the streams with other peers will be closed.
359
368
  */
360
369
  stop(): Promise<void>;
370
+ private _stopAfterStart;
371
+ private _stopImpl;
361
372
  isStarted(): boolean;
362
373
  /**
363
374
  * On an inbound stream opened
@@ -429,7 +440,7 @@ export declare abstract class DirectStream<Events extends {
429
440
  onGoodBye(publicKey: PublicSignKey, peerStream: PeerStreams, messageBytes: Uint8ArrayList | Uint8Array, message: Goodbye): Promise<boolean>;
430
441
  private maybeDeleteRemoteRoutes;
431
442
  private checkIsAlive;
432
- createMessage(data: Uint8Array | Uint8ArrayList | undefined, options: (WithTo | WithMode) & PriorityOptions & ResponsePriorityOptions & ExpiresAtOptions & IdOptions & {
443
+ createMessage(data: Uint8Array | Uint8ArrayList | undefined, options: (WithTo | WithMode) & PriorityOptions & ResponsePriorityOptions & ExpiresAtOptions & ExpiresInOptions & IdOptions & {
433
444
  skipRecipientValidation?: boolean;
434
445
  } & WithExtraSigners): Promise<DataMessage<SilentDelivery | AcknowledgeDelivery | AcknowledgeAnyWhere | AnyWhere>>;
435
446
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -855,6 +855,7 @@ export class DirectStream extends TypedEventEmitter {
855
855
  prunedConnectionsCache;
856
856
  pruneToLimitsInFlight;
857
857
  _startInFlight;
858
+ _stopInFlight;
858
859
  routeMaxRetentionPeriod;
859
860
  routeCacheMaxFromEntries;
860
861
  routeCacheMaxTargetsPerFrom;
@@ -1051,10 +1052,14 @@ export class DirectStream extends TypedEventEmitter {
1051
1052
  return this.pruneToLimitsInFlight;
1052
1053
  }
1053
1054
  async start() {
1055
+ // Do not queue a restart behind teardown; callers can retry after stop resolves.
1056
+ if (this._stopInFlight)
1057
+ return;
1054
1058
  if (this.started)
1055
1059
  return;
1056
1060
  if (this._startInFlight)
1057
1061
  return this._startInFlight;
1062
+ this.stopping = false;
1058
1063
  this._startInFlight = this._startImpl().finally(() => {
1059
1064
  this._startInFlight = undefined;
1060
1065
  });
@@ -1144,7 +1149,6 @@ export class DirectStream extends TypedEventEmitter {
1144
1149
  this.routes = this.createRoutes(this.closeController.signal);
1145
1150
  }
1146
1151
  this.started = true;
1147
- this.stopping = false;
1148
1152
  logger.trace("starting");
1149
1153
  // Incoming streams
1150
1154
  // Called after a peer dials us
@@ -1241,10 +1245,49 @@ export class DirectStream extends TypedEventEmitter {
1241
1245
  /**
1242
1246
  * Unregister the pubsub protocol and the streams with other peers will be closed.
1243
1247
  */
1244
- async stop() {
1245
- if (!this.started) {
1246
- return;
1248
+ stop() {
1249
+ if (this._stopInFlight)
1250
+ return this._stopInFlight;
1251
+ if (!this.started && !this._startInFlight)
1252
+ return Promise.resolve();
1253
+ this.stopping = true;
1254
+ const starting = this._startInFlight;
1255
+ this._stopInFlight = this._stopAfterStart(starting).finally(() => {
1256
+ this.stopping = false;
1257
+ this._stopInFlight = undefined;
1258
+ });
1259
+ return this._stopInFlight;
1260
+ }
1261
+ async _stopAfterStart(starting) {
1262
+ let startFailed = false;
1263
+ let startFailure;
1264
+ try {
1265
+ await starting;
1266
+ }
1267
+ catch (error) {
1268
+ startFailed = true;
1269
+ startFailure = error;
1270
+ }
1271
+ let stopFailed = false;
1272
+ let stopFailure;
1273
+ if (this.started) {
1274
+ try {
1275
+ await this._stopImpl();
1276
+ }
1277
+ catch (error) {
1278
+ stopFailed = true;
1279
+ stopFailure = error;
1280
+ }
1247
1281
  }
1282
+ if (startFailed && stopFailed) {
1283
+ throw new AggregateError([startFailure, stopFailure], "DirectStream start and rollback stop failed");
1284
+ }
1285
+ if (stopFailed)
1286
+ throw stopFailure;
1287
+ if (startFailed)
1288
+ throw startFailure;
1289
+ }
1290
+ async _stopImpl() {
1248
1291
  const sharedState = this.sharedRoutingState;
1249
1292
  const sharedKey = this.sharedRoutingKey;
1250
1293
  clearTimeout(this.pruneConnectionsTimeout);
@@ -1318,7 +1361,6 @@ export class DirectStream extends TypedEventEmitter {
1318
1361
  }
1319
1362
  }
1320
1363
  logger.trace("stopped");
1321
- this.stopping = false;
1322
1364
  }
1323
1365
  isStarted() {
1324
1366
  return this.started;
@@ -1439,6 +1481,9 @@ export class DirectStream extends TypedEventEmitter {
1439
1481
  * Registrar notifies a closing connection with pubsub protocol
1440
1482
  */
1441
1483
  async onPeerDisconnected(peerId, conn) {
1484
+ if (this.stopping || !this.started) {
1485
+ return;
1486
+ }
1442
1487
  // PeerId could be me, if so, it means that I am disconnecting
1443
1488
  const peerKey = getPublicKeyFromPeerId(peerId);
1444
1489
  const peerKeyHash = peerKey.hashcode();
@@ -1461,18 +1506,25 @@ export class DirectStream extends TypedEventEmitter {
1461
1506
  }
1462
1507
  if (!this.publicKey.equals(peerKey)) {
1463
1508
  await this._removePeer(peerKey);
1509
+ if (this.stopping || !this.started) {
1510
+ return;
1511
+ }
1464
1512
  // tell dependent peers that there is a node that might have left
1465
1513
  const dependent = this.routes.getDependent(peerKeyHash);
1466
1514
  // make neighbour unreachables
1467
1515
  this.removePeerFromRoutes(peerKeyHash, true);
1468
1516
  if (dependent.length > 0) {
1469
- await this.publishMessageMaybe(this.publicKey, await new Goodbye({
1517
+ const goodbye = await new Goodbye({
1470
1518
  leaving: [peerKeyHash],
1471
1519
  header: new MessageHeader({
1472
1520
  session: this.session,
1473
1521
  mode: new SilentDelivery({ to: dependent, redundancy: 2 }),
1474
1522
  }),
1475
- }).sign(this.sign));
1523
+ }).sign(this.sign);
1524
+ if (this.stopping || !this.started) {
1525
+ return;
1526
+ }
1527
+ await this.publishMessageMaybe(this.publicKey, goodbye);
1476
1528
  }
1477
1529
  // Best-effort liveness probe; never let background probe failures crash callers.
1478
1530
  void this.checkIsAlive([peerKeyHash]).catch(() => false);
@@ -2134,16 +2186,29 @@ export class DirectStream extends TypedEventEmitter {
2134
2186
  }
2135
2187
  }
2136
2188
  setDeliveryOriginHop(mode, this.publicKeyHash);
2189
+ const expiresInMs = options.expiresInMs;
2190
+ if (expiresInMs != null) {
2191
+ if (options.expiresAt != null) {
2192
+ throw new InvalidMessageError("expiresAt and expiresInMs cannot both be specified");
2193
+ }
2194
+ if (!Number.isSafeInteger(expiresInMs) || expiresInMs <= 0) {
2195
+ throw new InvalidMessageError("expiresInMs must be a positive safe integer");
2196
+ }
2197
+ }
2198
+ const header = new MessageHeader({
2199
+ id: options.id,
2200
+ mode,
2201
+ session: this.session,
2202
+ priority: options.priority,
2203
+ responsePriority: options.responsePriority,
2204
+ expires: options.expiresAt,
2205
+ });
2206
+ if (expiresInMs != null) {
2207
+ header.expires = header.timestamp + BigInt(expiresInMs);
2208
+ }
2137
2209
  const message = new DataMessage({
2138
2210
  data,
2139
- header: new MessageHeader({
2140
- id: options.id,
2141
- mode,
2142
- session: this.session,
2143
- priority: options.priority,
2144
- responsePriority: options.responsePriority,
2145
- expires: options.expiresAt,
2146
- }),
2211
+ header,
2147
2212
  });
2148
2213
  // TODO allow messages to also be sent unsigned (signaturePolicy property)
2149
2214
  await this.signDataMessage(message);