@peerbit/pubsub-interface 4.1.2-2ab6232 → 4.1.2-3f16953
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/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/messages.ts +39 -0
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":"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"}
|
|
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": "4.1.2-
|
|
3
|
+
"version": "4.1.2-3f16953",
|
|
4
4
|
"description": "Block store streaming",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -69,8 +69,8 @@
|
|
|
69
69
|
],
|
|
70
70
|
"dependencies": {
|
|
71
71
|
"@dao-xyz/borsh": "^6.0.0",
|
|
72
|
-
"@peerbit/crypto": "2.4.1-
|
|
73
|
-
"@peerbit/stream-interface": "5.4.0-
|
|
72
|
+
"@peerbit/crypto": "2.4.1-3f16953",
|
|
73
|
+
"@peerbit/stream-interface": "5.4.0-3f16953",
|
|
74
74
|
"@libp2p/interface": "^3.1.0",
|
|
75
75
|
"uint8arraylist": "^2.4.8"
|
|
76
76
|
},
|
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
|
+
}
|