@peerbit/pubsub-interface 4.1.2 → 5.0.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.
- package/dist/src/index.d.ts +5 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/messages.d.ts +10 -1
- package/dist/src/messages.d.ts.map +1 -1
- package/dist/src/messages.js +50 -0
- package/dist/src/messages.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +18 -1
- package/src/messages.ts +39 -0
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type EventHandler } from "@libp2p/interface";
|
|
2
2
|
import { PublicSignKey } from "@peerbit/crypto";
|
|
3
|
-
import { DataMessage, DeliveryMode, type IdOptions, Message, type PeerEvents, type PriorityOptions, type PublicKeyFromHashResolver, type WaitForPeer, type WithExtraSigners } from "@peerbit/stream-interface";
|
|
3
|
+
import { DataMessage, DeliveryMode, type IdOptions, Message, type PeerEvents, type PriorityOptions, type PublicKeyFromHashResolver, type RouteHint, type WaitForPeer, type WithExtraSigners } from "@peerbit/stream-interface";
|
|
4
4
|
import { PubSubData } from "./messages.js";
|
|
5
5
|
export declare class SubscriptionEvent {
|
|
6
6
|
from: PublicSignKey;
|
|
@@ -10,8 +10,10 @@ export declare class SubscriptionEvent {
|
|
|
10
10
|
export declare class UnsubcriptionEvent {
|
|
11
11
|
from: PublicSignKey;
|
|
12
12
|
topics: string[];
|
|
13
|
-
|
|
13
|
+
reason?: UnsubscriptionReason;
|
|
14
|
+
constructor(from: PublicSignKey, topics: string[], reason?: UnsubscriptionReason);
|
|
14
15
|
}
|
|
16
|
+
export type UnsubscriptionReason = "remote-unsubscribe" | "peer-unreachable" | "peer-session-reset";
|
|
15
17
|
export declare class PublishEvent {
|
|
16
18
|
data: PubSubData;
|
|
17
19
|
message: DataMessage;
|
|
@@ -66,6 +68,7 @@ export type PublishOptions = ({
|
|
|
66
68
|
};
|
|
67
69
|
export interface PubSub extends IEventEmitter<PubSubEvents>, WaitForPeer, PublicKeyFromHashResolver {
|
|
68
70
|
getSubscribers(topic: string): MaybePromise<PublicSignKey[] | undefined>;
|
|
71
|
+
getUnifiedRouteHints(topic: string, targetHash: string): MaybePromise<RouteHint[]>;
|
|
69
72
|
requestSubscribers(topic: string, from?: PublicSignKey): MaybePromise<void>;
|
|
70
73
|
subscribe(topic: string): MaybePromise<void>;
|
|
71
74
|
unsubscribe(topic: string, options?: {
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACN,WAAW,EACX,YAAY,EACZ,KAAK,SAAS,EACd,OAAO,EACP,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBAAa,iBAAiB;IAE7B,IAAI,EAAE,aAAa,CAAC;IAGpB,MAAM,EAAE,MAAM,EAAE,CAAC;gBAEL,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE;CAIjD;AAED,qBAAa,kBAAkB;IAE9B,IAAI,EAAE,aAAa,CAAC;IAGpB,MAAM,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -81,10 +81,11 @@ let UnsubcriptionEvent = (() => {
|
|
|
81
81
|
}
|
|
82
82
|
from = __runInitializers(this, _from_initializers, void 0);
|
|
83
83
|
topics = (__runInitializers(this, _from_extraInitializers), __runInitializers(this, _topics_initializers, void 0));
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
reason = __runInitializers(this, _topics_extraInitializers);
|
|
85
|
+
constructor(from, topics, reason) {
|
|
86
86
|
this.from = from;
|
|
87
87
|
this.topics = topics;
|
|
88
|
+
this.reason = reason;
|
|
88
89
|
}
|
|
89
90
|
};
|
|
90
91
|
})();
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAqB,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACN,WAAW,EACX,YAAY,EAEZ,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/messages.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Uint8ArrayList } from "uint8arraylist";
|
|
2
2
|
export declare abstract class PubSubMessage {
|
|
3
3
|
abstract bytes(): Uint8Array | Uint8ArrayList;
|
|
4
|
-
static from(bytes: Uint8Array): PubSubData | Subscribe | Unsubscribe | GetSubscribers;
|
|
4
|
+
static from(bytes: Uint8Array): PubSubData | Subscribe | Unsubscribe | GetSubscribers | TopicRootCandidates;
|
|
5
5
|
}
|
|
6
6
|
export declare class PubSubData extends PubSubMessage {
|
|
7
7
|
topics: string[];
|
|
@@ -45,4 +45,13 @@ export declare class GetSubscribers extends PubSubMessage {
|
|
|
45
45
|
bytes(): Uint8Array<ArrayBufferLike> | Uint8ArrayList;
|
|
46
46
|
static from(bytes: Uint8Array | Uint8ArrayList): GetSubscribers;
|
|
47
47
|
}
|
|
48
|
+
export declare class TopicRootCandidates extends PubSubMessage {
|
|
49
|
+
candidates: string[];
|
|
50
|
+
constructor(options: {
|
|
51
|
+
candidates: string[];
|
|
52
|
+
});
|
|
53
|
+
private _serialized;
|
|
54
|
+
bytes(): Uint8Array<ArrayBufferLike> | Uint8ArrayList;
|
|
55
|
+
static from(bytes: Uint8Array | Uint8ArrayList): TopicRootCandidates;
|
|
56
|
+
}
|
|
48
57
|
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,8BAAsB,aAAa;IAClC,QAAQ,CAAC,KAAK,IAAI,UAAU,GAAG,cAAc;IAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,8BAAsB,aAAa;IAClC,QAAQ,CAAC,KAAK,IAAI,UAAU,GAAG,cAAc;IAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU;CAsB7B;AAED,qBACa,UAAW,SAAQ,aAAa;IAE5C,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,MAAM,EAAE,OAAO,CAAC;IAGhB,IAAI,EAAE,UAAU,CAAC;gBAEL,OAAO,EAAE;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC;QAClC,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB;IAUD,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,UAAU;CAU3D;AAED,qBACa,SAAU,SAAQ,aAAa;IAE3C,MAAM,EAAE,MAAM,EAAE,CAAC;IAGjB,kBAAkB,EAAE,OAAO,CAAC;gBAEhB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,kBAAkB,EAAE,OAAO,CAAA;KAAE;IAMtE,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAML,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,SAAS;CAU1D;AAED,qBACa,WAAY,SAAQ,aAAa;IAE7C,MAAM,EAAE,MAAM,EAAE,CAAC;gBAEL,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAKzC,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,WAAW;CAU5D;AAED,qBACa,cAAe,SAAQ,aAAa;IAEhD,MAAM,EAAE,MAAM,EAAE,CAAC;gBAIL,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAKzC,WAAW,EAAG,cAAc,CAAC;IAE7B,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,cAAc;CAU/D;AAMD,qBACa,mBAAoB,SAAQ,aAAa;IAErD,UAAU,EAAE,MAAM,EAAE,CAAC;gBAET,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE;IAK7C,OAAO,CAAC,WAAW,CAAkB;IAErC,KAAK;IAOL,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,cAAc,GAAG,mBAAmB;CAUpE"}
|
package/dist/src/messages.js
CHANGED
|
@@ -49,6 +49,9 @@ export class PubSubMessage {
|
|
|
49
49
|
if (first === 3) {
|
|
50
50
|
return GetSubscribers.from(bytes);
|
|
51
51
|
}
|
|
52
|
+
if (first === 4) {
|
|
53
|
+
return TopicRootCandidates.from(bytes);
|
|
54
|
+
}
|
|
52
55
|
throw new Error("Unsupported");
|
|
53
56
|
}
|
|
54
57
|
}
|
|
@@ -249,4 +252,51 @@ let GetSubscribers = (() => {
|
|
|
249
252
|
return GetSubscribers = _classThis;
|
|
250
253
|
})();
|
|
251
254
|
export { GetSubscribers };
|
|
255
|
+
// Internal control-plane message: used to converge deterministic topic-root
|
|
256
|
+
// candidate sets in small ad-hoc networks (when no explicit candidates/trackers
|
|
257
|
+
// are configured). This keeps shard-root resolution stable across partially
|
|
258
|
+
// connected topologies (e.g. star graphs).
|
|
259
|
+
let TopicRootCandidates = (() => {
|
|
260
|
+
let _classDecorators = [variant(4)];
|
|
261
|
+
let _classDescriptor;
|
|
262
|
+
let _classExtraInitializers = [];
|
|
263
|
+
let _classThis;
|
|
264
|
+
let _classSuper = PubSubMessage;
|
|
265
|
+
let _candidates_decorators;
|
|
266
|
+
let _candidates_initializers = [];
|
|
267
|
+
let _candidates_extraInitializers = [];
|
|
268
|
+
var TopicRootCandidates = class extends _classSuper {
|
|
269
|
+
static { _classThis = this; }
|
|
270
|
+
static {
|
|
271
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
272
|
+
_candidates_decorators = [field({ type: vec("string") })];
|
|
273
|
+
__esDecorate(null, null, _candidates_decorators, { kind: "field", name: "candidates", static: false, private: false, access: { has: obj => "candidates" in obj, get: obj => obj.candidates, set: (obj, value) => { obj.candidates = value; } }, metadata: _metadata }, _candidates_initializers, _candidates_extraInitializers);
|
|
274
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
275
|
+
TopicRootCandidates = _classThis = _classDescriptor.value;
|
|
276
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
277
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
278
|
+
}
|
|
279
|
+
candidates = __runInitializers(this, _candidates_initializers, void 0);
|
|
280
|
+
constructor(options) {
|
|
281
|
+
super();
|
|
282
|
+
this.candidates = options.candidates;
|
|
283
|
+
}
|
|
284
|
+
_serialized = __runInitializers(this, _candidates_extraInitializers);
|
|
285
|
+
bytes() {
|
|
286
|
+
if (this._serialized) {
|
|
287
|
+
return this._serialized;
|
|
288
|
+
}
|
|
289
|
+
return serialize(this);
|
|
290
|
+
}
|
|
291
|
+
static from(bytes) {
|
|
292
|
+
const ret = deserialize(bytes instanceof Uint8Array ? bytes : bytes.subarray(), TopicRootCandidates);
|
|
293
|
+
if (bytes instanceof Uint8ArrayList) {
|
|
294
|
+
ret._serialized = bytes;
|
|
295
|
+
}
|
|
296
|
+
return ret;
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
return TopicRootCandidates = _classThis;
|
|
300
|
+
})();
|
|
301
|
+
export { TopicRootCandidates };
|
|
252
302
|
//# sourceMappingURL=messages.js.map
|
package/dist/src/messages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,OAAgB,aAAa;IAElC,MAAM,CAAC,IAAI,CAAC,KAAiB;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;CACD;IAGY,UAAU;4BADtB,OAAO,CAAC,CAAC,CAAC;;;;sBACqB,aAAa;;;;;;;;;;0BAArB,SAAQ,WAAa;;;;kCAC3C,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;kCAG9B,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gCAGvB,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAL5B,oKAAA,MAAM,6BAAN,MAAM,uFAAW;YAGjB,oKAAA,MAAM,6BAAN,MAAM,uFAAU;YAGhB,8JAAA,IAAI,6BAAJ,IAAI,mFAAa;YARlB,6KA2CC;;;YA3CY,uDAAU;;QAEtB,MAAM,yDAAW;QAGjB,MAAM,+GAAU,CAAC,+CAA+C;QAGhE,IAAI,6GAAa;QAEjB,YAAY,OAIX;YACA,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,IAAI;gBACR,OAAO,CAAC,IAAI,YAAY,UAAU;oBACjC,CAAC,CAAC,OAAO,CAAC,IAAI;oBACd,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;QACvC,CAAC;QAEO,WAAW,oDAAkB;QAErC,KAAK;YACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,WAAW,CAAC;YACzB,CAAC;YAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAkC;YAC7C,MAAM,GAAG,GAAG,WAAW,CACtB,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EACtD,UAAU,CACV,CAAC;YACF,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;gBACrC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;;;;SA1CW,UAAU;IA8CV,SAAS;4BADrB,OAAO,CAAC,CAAC,CAAC;;;;sBACoB,aAAa;;;;;;;yBAArB,SAAQ,WAAa;;;;kCAC1C,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;8CAG9B,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAFxB,oKAAA,MAAM,6BAAN,MAAM,uFAAW;YAGjB,wMAAA,kBAAkB,6BAAlB,kBAAkB,+GAAU;YAL7B,6KA+BC;;;YA/BY,uDAAS;;QAErB,MAAM,yDAAW;QAGjB,kBAAkB,2HAAU;QAE5B,YAAY,OAA0D;YACrE,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACtD,CAAC;QAEO,WAAW,kEAAkB;QAErC,KAAK;YACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,WAAW,CAAC;YACzB,CAAC;YACD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAkC;YAC7C,MAAM,GAAG,GAAG,WAAW,CACtB,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EACtD,SAAS,CACT,CAAC;YACF,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;gBACrC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;;;;SA9BW,SAAS;IAkCT,WAAW;4BADvB,OAAO,CAAC,CAAC,CAAC;;;;sBACsB,aAAa;;;;2BAArB,SAAQ,WAAa;;;;kCAC5C,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,oKAAA,MAAM,6BAAN,MAAM,uFAAW;YAFlB,6KA4BC;;;YA5BY,uDAAW;;QAEvB,MAAM,yDAAW;QAEjB,YAAY,OAA6B;YACxC,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,CAAC;QAEO,WAAW,sDAAkB;QAErC,KAAK;YACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,WAAW,CAAC;YACzB,CAAC;YACD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAkC;YAC7C,MAAM,GAAG,GAAG,WAAW,CACtB,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EACtD,WAAW,CACX,CAAC;YACF,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;gBACrC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;;;;SA3BW,WAAW;IA+BX,cAAc;4BAD1B,OAAO,CAAC,CAAC,CAAC;;;;sBACyB,aAAa;;;;8BAArB,SAAQ,WAAa;;;;kCAC/C,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,oKAAA,MAAM,6BAAN,MAAM,uFAAW;YAFlB,6KA8BC;;;YA9BY,uDAAc;;QAE1B,MAAM,yDAAW;QAEjB,kFAAkF;QAElF,YAAY,OAA6B;YACxC,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,CAAC;QAED,WAAW,sDAAkB;QAE7B,KAAK;YACJ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,WAAW,CAAC;YACzB,CAAC;YACD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAkC;YAC7C,MAAM,GAAG,GAAG,WAAW,CACtB,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EACtD,cAAc,CACd,CAAC;YACF,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;gBACrC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,CAAC;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;;;;SA7BW,cAAc"}
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/pubsub-interface",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"description": "Block store streaming",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
"@dao-xyz/borsh": "^6.0.0",
|
|
72
72
|
"@libp2p/interface": "^3.1.0",
|
|
73
73
|
"uint8arraylist": "^2.4.8",
|
|
74
|
-
"@peerbit/crypto": "
|
|
75
|
-
"@peerbit/stream-interface": "
|
|
74
|
+
"@peerbit/crypto": "3.0.0",
|
|
75
|
+
"@peerbit/stream-interface": "6.0.0"
|
|
76
76
|
},
|
|
77
77
|
"scripts": {
|
|
78
78
|
"clean": "aegir clean",
|
package/src/index.ts
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
type PeerEvents,
|
|
10
10
|
type PriorityOptions,
|
|
11
11
|
type PublicKeyFromHashResolver,
|
|
12
|
+
type RouteHint,
|
|
12
13
|
type WaitForPeer,
|
|
13
14
|
type WithExtraSigners,
|
|
14
15
|
} from "@peerbit/stream-interface";
|
|
@@ -34,12 +35,24 @@ export class UnsubcriptionEvent {
|
|
|
34
35
|
@field({ type: vec("string") })
|
|
35
36
|
topics: string[];
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
reason?: UnsubscriptionReason;
|
|
39
|
+
|
|
40
|
+
constructor(
|
|
41
|
+
from: PublicSignKey,
|
|
42
|
+
topics: string[],
|
|
43
|
+
reason?: UnsubscriptionReason,
|
|
44
|
+
) {
|
|
38
45
|
this.from = from;
|
|
39
46
|
this.topics = topics;
|
|
47
|
+
this.reason = reason;
|
|
40
48
|
}
|
|
41
49
|
}
|
|
42
50
|
|
|
51
|
+
export type UnsubscriptionReason =
|
|
52
|
+
| "remote-unsubscribe"
|
|
53
|
+
| "peer-unreachable"
|
|
54
|
+
| "peer-session-reset";
|
|
55
|
+
|
|
43
56
|
export class PublishEvent {
|
|
44
57
|
@field({ type: PubSubData })
|
|
45
58
|
data: PubSubData;
|
|
@@ -136,6 +149,10 @@ export interface PubSub
|
|
|
136
149
|
WaitForPeer,
|
|
137
150
|
PublicKeyFromHashResolver {
|
|
138
151
|
getSubscribers(topic: string): MaybePromise<PublicSignKey[] | undefined>;
|
|
152
|
+
getUnifiedRouteHints(
|
|
153
|
+
topic: string,
|
|
154
|
+
targetHash: string,
|
|
155
|
+
): MaybePromise<RouteHint[]>;
|
|
139
156
|
|
|
140
157
|
requestSubscribers(topic: string, from?: PublicSignKey): MaybePromise<void>;
|
|
141
158
|
|
package/src/messages.ts
CHANGED
|
@@ -19,6 +19,10 @@ export abstract class PubSubMessage {
|
|
|
19
19
|
return GetSubscribers.from(bytes);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
if (first === 4) {
|
|
23
|
+
return TopicRootCandidates.from(bytes);
|
|
24
|
+
}
|
|
25
|
+
|
|
22
26
|
throw new Error("Unsupported");
|
|
23
27
|
}
|
|
24
28
|
}
|
|
@@ -166,3 +170,38 @@ export class GetSubscribers extends PubSubMessage {
|
|
|
166
170
|
return ret;
|
|
167
171
|
}
|
|
168
172
|
}
|
|
173
|
+
|
|
174
|
+
// Internal control-plane message: used to converge deterministic topic-root
|
|
175
|
+
// candidate sets in small ad-hoc networks (when no explicit candidates/trackers
|
|
176
|
+
// are configured). This keeps shard-root resolution stable across partially
|
|
177
|
+
// connected topologies (e.g. star graphs).
|
|
178
|
+
@variant(4)
|
|
179
|
+
export class TopicRootCandidates extends PubSubMessage {
|
|
180
|
+
@field({ type: vec("string") })
|
|
181
|
+
candidates: string[];
|
|
182
|
+
|
|
183
|
+
constructor(options: { candidates: string[] }) {
|
|
184
|
+
super();
|
|
185
|
+
this.candidates = options.candidates;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
private _serialized!: Uint8ArrayList;
|
|
189
|
+
|
|
190
|
+
bytes() {
|
|
191
|
+
if (this._serialized) {
|
|
192
|
+
return this._serialized;
|
|
193
|
+
}
|
|
194
|
+
return serialize(this);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
static from(bytes: Uint8Array | Uint8ArrayList): TopicRootCandidates {
|
|
198
|
+
const ret = deserialize(
|
|
199
|
+
bytes instanceof Uint8Array ? bytes : bytes.subarray(),
|
|
200
|
+
TopicRootCandidates,
|
|
201
|
+
);
|
|
202
|
+
if (bytes instanceof Uint8ArrayList) {
|
|
203
|
+
ret._serialized = bytes;
|
|
204
|
+
}
|
|
205
|
+
return ret;
|
|
206
|
+
}
|
|
207
|
+
}
|