@libp2p/gossipsub 15.0.15 → 15.0.16-709b3fa2e
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/README.md +0 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +4 -4
- package/dist/src/message/rpc.d.ts +241 -20
- package/dist/src/message/rpc.d.ts.map +1 -1
- package/dist/src/message/rpc.js +516 -64
- package/dist/src/message/rpc.js.map +1 -1
- package/package.json +11 -11
- package/src/message/rpc.ts +792 -45
- package/dist/typedoc-urls.json +0 -149
package/src/message/rpc.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { decodeMessage, encodeMessage, MaxLengthError, message } from 'protons-runtime'
|
|
1
|
+
import { decodeMessage, encodeMessage, MaxLengthError, message, streamMessage } from 'protons-runtime'
|
|
4
2
|
import type { Codec, DecodeOptions } from 'protons-runtime'
|
|
5
3
|
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
6
4
|
|
|
@@ -64,19 +62,60 @@ export namespace RPC {
|
|
|
64
62
|
}
|
|
65
63
|
|
|
66
64
|
return obj
|
|
65
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
66
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
67
|
+
|
|
68
|
+
while (reader.pos < end) {
|
|
69
|
+
const tag = reader.uint32()
|
|
70
|
+
|
|
71
|
+
switch (tag >>> 3) {
|
|
72
|
+
case 1: {
|
|
73
|
+
yield {
|
|
74
|
+
field: `${prefix}.subscribe`,
|
|
75
|
+
value: reader.bool()
|
|
76
|
+
}
|
|
77
|
+
break
|
|
78
|
+
}
|
|
79
|
+
case 2: {
|
|
80
|
+
yield {
|
|
81
|
+
field: `${prefix}.topic`,
|
|
82
|
+
value: reader.string()
|
|
83
|
+
}
|
|
84
|
+
break
|
|
85
|
+
}
|
|
86
|
+
default: {
|
|
87
|
+
reader.skipType(tag & 7)
|
|
88
|
+
break
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
67
92
|
})
|
|
68
93
|
}
|
|
69
94
|
|
|
70
95
|
return _codec
|
|
71
96
|
}
|
|
72
97
|
|
|
73
|
-
export
|
|
98
|
+
export interface SubOptsSubscribeFieldEvent {
|
|
99
|
+
field: '$.subscribe'
|
|
100
|
+
value: boolean
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export interface SubOptsTopicFieldEvent {
|
|
104
|
+
field: '$.topic'
|
|
105
|
+
value: string
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export function encode (obj: Partial<SubOpts>): Uint8Array {
|
|
74
109
|
return encodeMessage(obj, SubOpts.codec())
|
|
75
110
|
}
|
|
76
111
|
|
|
77
|
-
export
|
|
112
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<SubOpts>): SubOpts {
|
|
78
113
|
return decodeMessage(buf, SubOpts.codec(), opts)
|
|
79
114
|
}
|
|
115
|
+
|
|
116
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<SubOpts>): Generator<SubOptsSubscribeFieldEvent | SubOptsTopicFieldEvent> {
|
|
117
|
+
return streamMessage(buf, SubOpts.codec(), opts)
|
|
118
|
+
}
|
|
80
119
|
}
|
|
81
120
|
|
|
82
121
|
export interface Message {
|
|
@@ -174,19 +213,108 @@ export namespace RPC {
|
|
|
174
213
|
}
|
|
175
214
|
|
|
176
215
|
return obj
|
|
216
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
217
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
218
|
+
|
|
219
|
+
while (reader.pos < end) {
|
|
220
|
+
const tag = reader.uint32()
|
|
221
|
+
|
|
222
|
+
switch (tag >>> 3) {
|
|
223
|
+
case 1: {
|
|
224
|
+
yield {
|
|
225
|
+
field: `${prefix}.from`,
|
|
226
|
+
value: reader.bytes()
|
|
227
|
+
}
|
|
228
|
+
break
|
|
229
|
+
}
|
|
230
|
+
case 2: {
|
|
231
|
+
yield {
|
|
232
|
+
field: `${prefix}.data`,
|
|
233
|
+
value: reader.bytes()
|
|
234
|
+
}
|
|
235
|
+
break
|
|
236
|
+
}
|
|
237
|
+
case 3: {
|
|
238
|
+
yield {
|
|
239
|
+
field: `${prefix}.seqno`,
|
|
240
|
+
value: reader.bytes()
|
|
241
|
+
}
|
|
242
|
+
break
|
|
243
|
+
}
|
|
244
|
+
case 4: {
|
|
245
|
+
yield {
|
|
246
|
+
field: `${prefix}.topic`,
|
|
247
|
+
value: reader.string()
|
|
248
|
+
}
|
|
249
|
+
break
|
|
250
|
+
}
|
|
251
|
+
case 5: {
|
|
252
|
+
yield {
|
|
253
|
+
field: `${prefix}.signature`,
|
|
254
|
+
value: reader.bytes()
|
|
255
|
+
}
|
|
256
|
+
break
|
|
257
|
+
}
|
|
258
|
+
case 6: {
|
|
259
|
+
yield {
|
|
260
|
+
field: `${prefix}.key`,
|
|
261
|
+
value: reader.bytes()
|
|
262
|
+
}
|
|
263
|
+
break
|
|
264
|
+
}
|
|
265
|
+
default: {
|
|
266
|
+
reader.skipType(tag & 7)
|
|
267
|
+
break
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
177
271
|
})
|
|
178
272
|
}
|
|
179
273
|
|
|
180
274
|
return _codec
|
|
181
275
|
}
|
|
182
276
|
|
|
183
|
-
export
|
|
277
|
+
export interface MessageFromFieldEvent {
|
|
278
|
+
field: '$.from'
|
|
279
|
+
value: Uint8Array
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
export interface MessageDataFieldEvent {
|
|
283
|
+
field: '$.data'
|
|
284
|
+
value: Uint8Array
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
export interface MessageSeqnoFieldEvent {
|
|
288
|
+
field: '$.seqno'
|
|
289
|
+
value: Uint8Array
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
export interface MessageTopicFieldEvent {
|
|
293
|
+
field: '$.topic'
|
|
294
|
+
value: string
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
export interface MessageSignatureFieldEvent {
|
|
298
|
+
field: '$.signature'
|
|
299
|
+
value: Uint8Array
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
export interface MessageKeyFieldEvent {
|
|
303
|
+
field: '$.key'
|
|
304
|
+
value: Uint8Array
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
export function encode (obj: Partial<Message>): Uint8Array {
|
|
184
308
|
return encodeMessage(obj, Message.codec())
|
|
185
309
|
}
|
|
186
310
|
|
|
187
|
-
export
|
|
311
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Message>): Message {
|
|
188
312
|
return decodeMessage(buf, Message.codec(), opts)
|
|
189
313
|
}
|
|
314
|
+
|
|
315
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Message>): Generator<MessageFromFieldEvent | MessageDataFieldEvent | MessageSeqnoFieldEvent | MessageTopicFieldEvent | MessageSignatureFieldEvent | MessageKeyFieldEvent> {
|
|
316
|
+
return streamMessage(buf, Message.codec(), opts)
|
|
317
|
+
}
|
|
190
318
|
}
|
|
191
319
|
|
|
192
320
|
export interface ControlMessage {
|
|
@@ -207,35 +335,35 @@ export namespace RPC {
|
|
|
207
335
|
w.fork()
|
|
208
336
|
}
|
|
209
337
|
|
|
210
|
-
if (obj.ihave != null) {
|
|
338
|
+
if (obj.ihave != null && obj.ihave.length > 0) {
|
|
211
339
|
for (const value of obj.ihave) {
|
|
212
340
|
w.uint32(10)
|
|
213
341
|
RPC.ControlIHave.codec().encode(value, w)
|
|
214
342
|
}
|
|
215
343
|
}
|
|
216
344
|
|
|
217
|
-
if (obj.iwant != null) {
|
|
345
|
+
if (obj.iwant != null && obj.iwant.length > 0) {
|
|
218
346
|
for (const value of obj.iwant) {
|
|
219
347
|
w.uint32(18)
|
|
220
348
|
RPC.ControlIWant.codec().encode(value, w)
|
|
221
349
|
}
|
|
222
350
|
}
|
|
223
351
|
|
|
224
|
-
if (obj.graft != null) {
|
|
352
|
+
if (obj.graft != null && obj.graft.length > 0) {
|
|
225
353
|
for (const value of obj.graft) {
|
|
226
354
|
w.uint32(26)
|
|
227
355
|
RPC.ControlGraft.codec().encode(value, w)
|
|
228
356
|
}
|
|
229
357
|
}
|
|
230
358
|
|
|
231
|
-
if (obj.prune != null) {
|
|
359
|
+
if (obj.prune != null && obj.prune.length > 0) {
|
|
232
360
|
for (const value of obj.prune) {
|
|
233
361
|
w.uint32(34)
|
|
234
362
|
RPC.ControlPrune.codec().encode(value, w)
|
|
235
363
|
}
|
|
236
364
|
}
|
|
237
365
|
|
|
238
|
-
if (obj.idontwant != null) {
|
|
366
|
+
if (obj.idontwant != null && obj.idontwant.length > 0) {
|
|
239
367
|
for (const value of obj.idontwant) {
|
|
240
368
|
w.uint32(42)
|
|
241
369
|
RPC.ControlIDontWant.codec().encode(value, w)
|
|
@@ -262,7 +390,7 @@ export namespace RPC {
|
|
|
262
390
|
switch (tag >>> 3) {
|
|
263
391
|
case 1: {
|
|
264
392
|
if (opts.limits?.ihave != null && obj.ihave.length === opts.limits.ihave) {
|
|
265
|
-
throw new MaxLengthError('Decode error -
|
|
393
|
+
throw new MaxLengthError('Decode error - repeated field "ihave" had too many elements')
|
|
266
394
|
}
|
|
267
395
|
|
|
268
396
|
obj.ihave.push(RPC.ControlIHave.codec().decode(reader, reader.uint32(), {
|
|
@@ -272,7 +400,7 @@ export namespace RPC {
|
|
|
272
400
|
}
|
|
273
401
|
case 2: {
|
|
274
402
|
if (opts.limits?.iwant != null && obj.iwant.length === opts.limits.iwant) {
|
|
275
|
-
throw new MaxLengthError('Decode error -
|
|
403
|
+
throw new MaxLengthError('Decode error - repeated field "iwant" had too many elements')
|
|
276
404
|
}
|
|
277
405
|
|
|
278
406
|
obj.iwant.push(RPC.ControlIWant.codec().decode(reader, reader.uint32(), {
|
|
@@ -282,7 +410,7 @@ export namespace RPC {
|
|
|
282
410
|
}
|
|
283
411
|
case 3: {
|
|
284
412
|
if (opts.limits?.graft != null && obj.graft.length === opts.limits.graft) {
|
|
285
|
-
throw new MaxLengthError('Decode error -
|
|
413
|
+
throw new MaxLengthError('Decode error - repeated field "graft" had too many elements')
|
|
286
414
|
}
|
|
287
415
|
|
|
288
416
|
obj.graft.push(RPC.ControlGraft.codec().decode(reader, reader.uint32(), {
|
|
@@ -292,7 +420,7 @@ export namespace RPC {
|
|
|
292
420
|
}
|
|
293
421
|
case 4: {
|
|
294
422
|
if (opts.limits?.prune != null && obj.prune.length === opts.limits.prune) {
|
|
295
|
-
throw new MaxLengthError('Decode error -
|
|
423
|
+
throw new MaxLengthError('Decode error - repeated field "prune" had too many elements')
|
|
296
424
|
}
|
|
297
425
|
|
|
298
426
|
obj.prune.push(RPC.ControlPrune.codec().decode(reader, reader.uint32(), {
|
|
@@ -302,7 +430,7 @@ export namespace RPC {
|
|
|
302
430
|
}
|
|
303
431
|
case 5: {
|
|
304
432
|
if (opts.limits?.idontwant != null && obj.idontwant.length === opts.limits.idontwant) {
|
|
305
|
-
throw new MaxLengthError('Decode error -
|
|
433
|
+
throw new MaxLengthError('Decode error - repeated field "idontwant" had too many elements')
|
|
306
434
|
}
|
|
307
435
|
|
|
308
436
|
obj.idontwant.push(RPC.ControlIDontWant.codec().decode(reader, reader.uint32(), {
|
|
@@ -318,19 +446,188 @@ export namespace RPC {
|
|
|
318
446
|
}
|
|
319
447
|
|
|
320
448
|
return obj
|
|
449
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
450
|
+
const obj = {
|
|
451
|
+
ihave: 0,
|
|
452
|
+
iwant: 0,
|
|
453
|
+
graft: 0,
|
|
454
|
+
prune: 0,
|
|
455
|
+
idontwant: 0
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
459
|
+
|
|
460
|
+
while (reader.pos < end) {
|
|
461
|
+
const tag = reader.uint32()
|
|
462
|
+
|
|
463
|
+
switch (tag >>> 3) {
|
|
464
|
+
case 1: {
|
|
465
|
+
if (opts.limits?.ihave != null && obj.ihave === opts.limits.ihave) {
|
|
466
|
+
throw new MaxLengthError('Streaming decode error - repeated field "ihave" had too many elements')
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
for (const evt of RPC.ControlIHave.codec().stream(reader, reader.uint32(), `${prefix}.ihave[]`, {
|
|
470
|
+
limits: opts.limits?.ihave$
|
|
471
|
+
})) {
|
|
472
|
+
yield {
|
|
473
|
+
...evt,
|
|
474
|
+
index: obj.ihave
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
obj.ihave++
|
|
479
|
+
|
|
480
|
+
break
|
|
481
|
+
}
|
|
482
|
+
case 2: {
|
|
483
|
+
if (opts.limits?.iwant != null && obj.iwant === opts.limits.iwant) {
|
|
484
|
+
throw new MaxLengthError('Streaming decode error - repeated field "iwant" had too many elements')
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
for (const evt of RPC.ControlIWant.codec().stream(reader, reader.uint32(), `${prefix}.iwant[]`, {
|
|
488
|
+
limits: opts.limits?.iwant$
|
|
489
|
+
})) {
|
|
490
|
+
yield {
|
|
491
|
+
...evt,
|
|
492
|
+
index: obj.iwant
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
obj.iwant++
|
|
497
|
+
|
|
498
|
+
break
|
|
499
|
+
}
|
|
500
|
+
case 3: {
|
|
501
|
+
if (opts.limits?.graft != null && obj.graft === opts.limits.graft) {
|
|
502
|
+
throw new MaxLengthError('Streaming decode error - repeated field "graft" had too many elements')
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
for (const evt of RPC.ControlGraft.codec().stream(reader, reader.uint32(), `${prefix}.graft[]`, {
|
|
506
|
+
limits: opts.limits?.graft$
|
|
507
|
+
})) {
|
|
508
|
+
yield {
|
|
509
|
+
...evt,
|
|
510
|
+
index: obj.graft
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
obj.graft++
|
|
515
|
+
|
|
516
|
+
break
|
|
517
|
+
}
|
|
518
|
+
case 4: {
|
|
519
|
+
if (opts.limits?.prune != null && obj.prune === opts.limits.prune) {
|
|
520
|
+
throw new MaxLengthError('Streaming decode error - repeated field "prune" had too many elements')
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
for (const evt of RPC.ControlPrune.codec().stream(reader, reader.uint32(), `${prefix}.prune[]`, {
|
|
524
|
+
limits: opts.limits?.prune$
|
|
525
|
+
})) {
|
|
526
|
+
yield {
|
|
527
|
+
...evt,
|
|
528
|
+
index: obj.prune
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
obj.prune++
|
|
533
|
+
|
|
534
|
+
break
|
|
535
|
+
}
|
|
536
|
+
case 5: {
|
|
537
|
+
if (opts.limits?.idontwant != null && obj.idontwant === opts.limits.idontwant) {
|
|
538
|
+
throw new MaxLengthError('Streaming decode error - repeated field "idontwant" had too many elements')
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
for (const evt of RPC.ControlIDontWant.codec().stream(reader, reader.uint32(), `${prefix}.idontwant[]`, {
|
|
542
|
+
limits: opts.limits?.idontwant$
|
|
543
|
+
})) {
|
|
544
|
+
yield {
|
|
545
|
+
...evt,
|
|
546
|
+
index: obj.idontwant
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
obj.idontwant++
|
|
551
|
+
|
|
552
|
+
break
|
|
553
|
+
}
|
|
554
|
+
default: {
|
|
555
|
+
reader.skipType(tag & 7)
|
|
556
|
+
break
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
}
|
|
321
560
|
})
|
|
322
561
|
}
|
|
323
562
|
|
|
324
563
|
return _codec
|
|
325
564
|
}
|
|
326
565
|
|
|
327
|
-
export
|
|
566
|
+
export interface ControlMessageIhaveTopicIDFieldEvent {
|
|
567
|
+
field: '$.ihave[].topicID'
|
|
568
|
+
value: string
|
|
569
|
+
index: number
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
export interface ControlMessageIhaveMessageIDsFieldEvent {
|
|
573
|
+
field: '$.ihave[].messageIDs[]'
|
|
574
|
+
index: number
|
|
575
|
+
value: Uint8Array
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
export interface ControlMessageIwantMessageIDsFieldEvent {
|
|
579
|
+
field: '$.iwant[].messageIDs[]'
|
|
580
|
+
index: number
|
|
581
|
+
value: Uint8Array
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
export interface ControlMessageGraftTopicIDFieldEvent {
|
|
585
|
+
field: '$.graft[].topicID'
|
|
586
|
+
value: string
|
|
587
|
+
index: number
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
export interface ControlMessagePruneTopicIDFieldEvent {
|
|
591
|
+
field: '$.prune[].topicID'
|
|
592
|
+
value: string
|
|
593
|
+
index: number
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
export interface ControlMessagePrunePeersPeerIDFieldEvent {
|
|
597
|
+
field: '$.prune[].peers[].peerID'
|
|
598
|
+
value: Uint8Array
|
|
599
|
+
index: number
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
export interface ControlMessagePrunePeersSignedPeerRecordFieldEvent {
|
|
603
|
+
field: '$.prune[].peers[].signedPeerRecord'
|
|
604
|
+
value: Uint8Array
|
|
605
|
+
index: number
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
export interface ControlMessagePruneBackoffFieldEvent {
|
|
609
|
+
field: '$.prune[].backoff'
|
|
610
|
+
value: number
|
|
611
|
+
index: number
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
export interface ControlMessageIdontwantMessageIDsFieldEvent {
|
|
615
|
+
field: '$.idontwant[].messageIDs[]'
|
|
616
|
+
index: number
|
|
617
|
+
value: Uint8Array
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
export function encode (obj: Partial<ControlMessage>): Uint8Array {
|
|
328
621
|
return encodeMessage(obj, ControlMessage.codec())
|
|
329
622
|
}
|
|
330
623
|
|
|
331
|
-
export
|
|
624
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<ControlMessage>): ControlMessage {
|
|
332
625
|
return decodeMessage(buf, ControlMessage.codec(), opts)
|
|
333
626
|
}
|
|
627
|
+
|
|
628
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<ControlMessage>): Generator<ControlMessageIhaveTopicIDFieldEvent | ControlMessageIhaveMessageIDsFieldEvent | ControlMessageIwantMessageIDsFieldEvent | ControlMessageGraftTopicIDFieldEvent | ControlMessagePruneTopicIDFieldEvent | ControlMessagePrunePeersPeerIDFieldEvent | ControlMessagePrunePeersSignedPeerRecordFieldEvent | ControlMessagePruneBackoffFieldEvent | ControlMessageIdontwantMessageIDsFieldEvent> {
|
|
629
|
+
return streamMessage(buf, ControlMessage.codec(), opts)
|
|
630
|
+
}
|
|
334
631
|
}
|
|
335
632
|
|
|
336
633
|
export interface ControlIHave {
|
|
@@ -353,7 +650,7 @@ export namespace RPC {
|
|
|
353
650
|
w.string(obj.topicID)
|
|
354
651
|
}
|
|
355
652
|
|
|
356
|
-
if (obj.messageIDs != null) {
|
|
653
|
+
if (obj.messageIDs != null && obj.messageIDs.length > 0) {
|
|
357
654
|
for (const value of obj.messageIDs) {
|
|
358
655
|
w.uint32(18)
|
|
359
656
|
w.bytes(value)
|
|
@@ -380,7 +677,7 @@ export namespace RPC {
|
|
|
380
677
|
}
|
|
381
678
|
case 2: {
|
|
382
679
|
if (opts.limits?.messageIDs != null && obj.messageIDs.length === opts.limits.messageIDs) {
|
|
383
|
-
throw new MaxLengthError('Decode error -
|
|
680
|
+
throw new MaxLengthError('Decode error - repeated field "messageIDs" had too many elements')
|
|
384
681
|
}
|
|
385
682
|
|
|
386
683
|
obj.messageIDs.push(reader.bytes())
|
|
@@ -394,19 +691,73 @@ export namespace RPC {
|
|
|
394
691
|
}
|
|
395
692
|
|
|
396
693
|
return obj
|
|
694
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
695
|
+
const obj = {
|
|
696
|
+
messageIDs: 0
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
700
|
+
|
|
701
|
+
while (reader.pos < end) {
|
|
702
|
+
const tag = reader.uint32()
|
|
703
|
+
|
|
704
|
+
switch (tag >>> 3) {
|
|
705
|
+
case 1: {
|
|
706
|
+
yield {
|
|
707
|
+
field: `${prefix}.topicID`,
|
|
708
|
+
value: reader.string()
|
|
709
|
+
}
|
|
710
|
+
break
|
|
711
|
+
}
|
|
712
|
+
case 2: {
|
|
713
|
+
if (opts.limits?.messageIDs != null && obj.messageIDs === opts.limits.messageIDs) {
|
|
714
|
+
throw new MaxLengthError('Streaming decode error - repeated field "messageIDs" had too many elements')
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
yield {
|
|
718
|
+
field: `${prefix}.messageIDs[]`,
|
|
719
|
+
index: obj.messageIDs,
|
|
720
|
+
value: reader.bytes()
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
obj.messageIDs++
|
|
724
|
+
|
|
725
|
+
break
|
|
726
|
+
}
|
|
727
|
+
default: {
|
|
728
|
+
reader.skipType(tag & 7)
|
|
729
|
+
break
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
}
|
|
397
733
|
})
|
|
398
734
|
}
|
|
399
735
|
|
|
400
736
|
return _codec
|
|
401
737
|
}
|
|
402
738
|
|
|
403
|
-
export
|
|
739
|
+
export interface ControlIHaveTopicIDFieldEvent {
|
|
740
|
+
field: '$.topicID'
|
|
741
|
+
value: string
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
export interface ControlIHaveMessageIDsFieldEvent {
|
|
745
|
+
field: '$.messageIDs[]'
|
|
746
|
+
index: number
|
|
747
|
+
value: Uint8Array
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
export function encode (obj: Partial<ControlIHave>): Uint8Array {
|
|
404
751
|
return encodeMessage(obj, ControlIHave.codec())
|
|
405
752
|
}
|
|
406
753
|
|
|
407
|
-
export
|
|
754
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<ControlIHave>): ControlIHave {
|
|
408
755
|
return decodeMessage(buf, ControlIHave.codec(), opts)
|
|
409
756
|
}
|
|
757
|
+
|
|
758
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<ControlIHave>): Generator<ControlIHaveTopicIDFieldEvent | ControlIHaveMessageIDsFieldEvent> {
|
|
759
|
+
return streamMessage(buf, ControlIHave.codec(), opts)
|
|
760
|
+
}
|
|
410
761
|
}
|
|
411
762
|
|
|
412
763
|
export interface ControlIWant {
|
|
@@ -423,7 +774,7 @@ export namespace RPC {
|
|
|
423
774
|
w.fork()
|
|
424
775
|
}
|
|
425
776
|
|
|
426
|
-
if (obj.messageIDs != null) {
|
|
777
|
+
if (obj.messageIDs != null && obj.messageIDs.length > 0) {
|
|
427
778
|
for (const value of obj.messageIDs) {
|
|
428
779
|
w.uint32(10)
|
|
429
780
|
w.bytes(value)
|
|
@@ -446,7 +797,7 @@ export namespace RPC {
|
|
|
446
797
|
switch (tag >>> 3) {
|
|
447
798
|
case 1: {
|
|
448
799
|
if (opts.limits?.messageIDs != null && obj.messageIDs.length === opts.limits.messageIDs) {
|
|
449
|
-
throw new MaxLengthError('Decode error -
|
|
800
|
+
throw new MaxLengthError('Decode error - repeated field "messageIDs" had too many elements')
|
|
450
801
|
}
|
|
451
802
|
|
|
452
803
|
obj.messageIDs.push(reader.bytes())
|
|
@@ -460,19 +811,61 @@ export namespace RPC {
|
|
|
460
811
|
}
|
|
461
812
|
|
|
462
813
|
return obj
|
|
814
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
815
|
+
const obj = {
|
|
816
|
+
messageIDs: 0
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
820
|
+
|
|
821
|
+
while (reader.pos < end) {
|
|
822
|
+
const tag = reader.uint32()
|
|
823
|
+
|
|
824
|
+
switch (tag >>> 3) {
|
|
825
|
+
case 1: {
|
|
826
|
+
if (opts.limits?.messageIDs != null && obj.messageIDs === opts.limits.messageIDs) {
|
|
827
|
+
throw new MaxLengthError('Streaming decode error - repeated field "messageIDs" had too many elements')
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
yield {
|
|
831
|
+
field: `${prefix}.messageIDs[]`,
|
|
832
|
+
index: obj.messageIDs,
|
|
833
|
+
value: reader.bytes()
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
obj.messageIDs++
|
|
837
|
+
|
|
838
|
+
break
|
|
839
|
+
}
|
|
840
|
+
default: {
|
|
841
|
+
reader.skipType(tag & 7)
|
|
842
|
+
break
|
|
843
|
+
}
|
|
844
|
+
}
|
|
845
|
+
}
|
|
463
846
|
})
|
|
464
847
|
}
|
|
465
848
|
|
|
466
849
|
return _codec
|
|
467
850
|
}
|
|
468
851
|
|
|
469
|
-
export
|
|
852
|
+
export interface ControlIWantMessageIDsFieldEvent {
|
|
853
|
+
field: '$.messageIDs[]'
|
|
854
|
+
index: number
|
|
855
|
+
value: Uint8Array
|
|
856
|
+
}
|
|
857
|
+
|
|
858
|
+
export function encode (obj: Partial<ControlIWant>): Uint8Array {
|
|
470
859
|
return encodeMessage(obj, ControlIWant.codec())
|
|
471
860
|
}
|
|
472
861
|
|
|
473
|
-
export
|
|
862
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<ControlIWant>): ControlIWant {
|
|
474
863
|
return decodeMessage(buf, ControlIWant.codec(), opts)
|
|
475
864
|
}
|
|
865
|
+
|
|
866
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<ControlIWant>): Generator<ControlIWantMessageIDsFieldEvent> {
|
|
867
|
+
return streamMessage(buf, ControlIWant.codec(), opts)
|
|
868
|
+
}
|
|
476
869
|
}
|
|
477
870
|
|
|
478
871
|
export interface ControlGraft {
|
|
@@ -518,19 +911,48 @@ export namespace RPC {
|
|
|
518
911
|
}
|
|
519
912
|
|
|
520
913
|
return obj
|
|
914
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
915
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
916
|
+
|
|
917
|
+
while (reader.pos < end) {
|
|
918
|
+
const tag = reader.uint32()
|
|
919
|
+
|
|
920
|
+
switch (tag >>> 3) {
|
|
921
|
+
case 1: {
|
|
922
|
+
yield {
|
|
923
|
+
field: `${prefix}.topicID`,
|
|
924
|
+
value: reader.string()
|
|
925
|
+
}
|
|
926
|
+
break
|
|
927
|
+
}
|
|
928
|
+
default: {
|
|
929
|
+
reader.skipType(tag & 7)
|
|
930
|
+
break
|
|
931
|
+
}
|
|
932
|
+
}
|
|
933
|
+
}
|
|
521
934
|
})
|
|
522
935
|
}
|
|
523
936
|
|
|
524
937
|
return _codec
|
|
525
938
|
}
|
|
526
939
|
|
|
527
|
-
export
|
|
940
|
+
export interface ControlGraftTopicIDFieldEvent {
|
|
941
|
+
field: '$.topicID'
|
|
942
|
+
value: string
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
export function encode (obj: Partial<ControlGraft>): Uint8Array {
|
|
528
946
|
return encodeMessage(obj, ControlGraft.codec())
|
|
529
947
|
}
|
|
530
948
|
|
|
531
|
-
export
|
|
949
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<ControlGraft>): ControlGraft {
|
|
532
950
|
return decodeMessage(buf, ControlGraft.codec(), opts)
|
|
533
951
|
}
|
|
952
|
+
|
|
953
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<ControlGraft>): Generator<ControlGraftTopicIDFieldEvent> {
|
|
954
|
+
return streamMessage(buf, ControlGraft.codec(), opts)
|
|
955
|
+
}
|
|
534
956
|
}
|
|
535
957
|
|
|
536
958
|
export interface ControlPrune {
|
|
@@ -554,7 +976,7 @@ export namespace RPC {
|
|
|
554
976
|
w.string(obj.topicID)
|
|
555
977
|
}
|
|
556
978
|
|
|
557
|
-
if (obj.peers != null) {
|
|
979
|
+
if (obj.peers != null && obj.peers.length > 0) {
|
|
558
980
|
for (const value of obj.peers) {
|
|
559
981
|
w.uint32(18)
|
|
560
982
|
RPC.PeerInfo.codec().encode(value, w)
|
|
@@ -586,7 +1008,7 @@ export namespace RPC {
|
|
|
586
1008
|
}
|
|
587
1009
|
case 2: {
|
|
588
1010
|
if (opts.limits?.peers != null && obj.peers.length === opts.limits.peers) {
|
|
589
|
-
throw new MaxLengthError('Decode error -
|
|
1011
|
+
throw new MaxLengthError('Decode error - repeated field "peers" had too many elements')
|
|
590
1012
|
}
|
|
591
1013
|
|
|
592
1014
|
obj.peers.push(RPC.PeerInfo.codec().decode(reader, reader.uint32(), {
|
|
@@ -606,19 +1028,94 @@ export namespace RPC {
|
|
|
606
1028
|
}
|
|
607
1029
|
|
|
608
1030
|
return obj
|
|
1031
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
1032
|
+
const obj = {
|
|
1033
|
+
peers: 0
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
1037
|
+
|
|
1038
|
+
while (reader.pos < end) {
|
|
1039
|
+
const tag = reader.uint32()
|
|
1040
|
+
|
|
1041
|
+
switch (tag >>> 3) {
|
|
1042
|
+
case 1: {
|
|
1043
|
+
yield {
|
|
1044
|
+
field: `${prefix}.topicID`,
|
|
1045
|
+
value: reader.string()
|
|
1046
|
+
}
|
|
1047
|
+
break
|
|
1048
|
+
}
|
|
1049
|
+
case 2: {
|
|
1050
|
+
if (opts.limits?.peers != null && obj.peers === opts.limits.peers) {
|
|
1051
|
+
throw new MaxLengthError('Streaming decode error - repeated field "peers" had too many elements')
|
|
1052
|
+
}
|
|
1053
|
+
|
|
1054
|
+
for (const evt of RPC.PeerInfo.codec().stream(reader, reader.uint32(), `${prefix}.peers[]`, {
|
|
1055
|
+
limits: opts.limits?.peers$
|
|
1056
|
+
})) {
|
|
1057
|
+
yield {
|
|
1058
|
+
...evt,
|
|
1059
|
+
index: obj.peers
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
obj.peers++
|
|
1064
|
+
|
|
1065
|
+
break
|
|
1066
|
+
}
|
|
1067
|
+
case 3: {
|
|
1068
|
+
yield {
|
|
1069
|
+
field: `${prefix}.backoff`,
|
|
1070
|
+
value: reader.uint64Number()
|
|
1071
|
+
}
|
|
1072
|
+
break
|
|
1073
|
+
}
|
|
1074
|
+
default: {
|
|
1075
|
+
reader.skipType(tag & 7)
|
|
1076
|
+
break
|
|
1077
|
+
}
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
609
1080
|
})
|
|
610
1081
|
}
|
|
611
1082
|
|
|
612
1083
|
return _codec
|
|
613
1084
|
}
|
|
614
1085
|
|
|
615
|
-
export
|
|
1086
|
+
export interface ControlPruneTopicIDFieldEvent {
|
|
1087
|
+
field: '$.topicID'
|
|
1088
|
+
value: string
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1091
|
+
export interface ControlPrunePeersPeerIDFieldEvent {
|
|
1092
|
+
field: '$.peers[].peerID'
|
|
1093
|
+
value: Uint8Array
|
|
1094
|
+
index: number
|
|
1095
|
+
}
|
|
1096
|
+
|
|
1097
|
+
export interface ControlPrunePeersSignedPeerRecordFieldEvent {
|
|
1098
|
+
field: '$.peers[].signedPeerRecord'
|
|
1099
|
+
value: Uint8Array
|
|
1100
|
+
index: number
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
export interface ControlPruneBackoffFieldEvent {
|
|
1104
|
+
field: '$.backoff'
|
|
1105
|
+
value: number
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
export function encode (obj: Partial<ControlPrune>): Uint8Array {
|
|
616
1109
|
return encodeMessage(obj, ControlPrune.codec())
|
|
617
1110
|
}
|
|
618
1111
|
|
|
619
|
-
export
|
|
1112
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<ControlPrune>): ControlPrune {
|
|
620
1113
|
return decodeMessage(buf, ControlPrune.codec(), opts)
|
|
621
1114
|
}
|
|
1115
|
+
|
|
1116
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<ControlPrune>): Generator<ControlPruneTopicIDFieldEvent | ControlPrunePeersPeerIDFieldEvent | ControlPrunePeersSignedPeerRecordFieldEvent | ControlPruneBackoffFieldEvent> {
|
|
1117
|
+
return streamMessage(buf, ControlPrune.codec(), opts)
|
|
1118
|
+
}
|
|
622
1119
|
}
|
|
623
1120
|
|
|
624
1121
|
export interface PeerInfo {
|
|
@@ -674,19 +1171,60 @@ export namespace RPC {
|
|
|
674
1171
|
}
|
|
675
1172
|
|
|
676
1173
|
return obj
|
|
1174
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
1175
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
1176
|
+
|
|
1177
|
+
while (reader.pos < end) {
|
|
1178
|
+
const tag = reader.uint32()
|
|
1179
|
+
|
|
1180
|
+
switch (tag >>> 3) {
|
|
1181
|
+
case 1: {
|
|
1182
|
+
yield {
|
|
1183
|
+
field: `${prefix}.peerID`,
|
|
1184
|
+
value: reader.bytes()
|
|
1185
|
+
}
|
|
1186
|
+
break
|
|
1187
|
+
}
|
|
1188
|
+
case 2: {
|
|
1189
|
+
yield {
|
|
1190
|
+
field: `${prefix}.signedPeerRecord`,
|
|
1191
|
+
value: reader.bytes()
|
|
1192
|
+
}
|
|
1193
|
+
break
|
|
1194
|
+
}
|
|
1195
|
+
default: {
|
|
1196
|
+
reader.skipType(tag & 7)
|
|
1197
|
+
break
|
|
1198
|
+
}
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
677
1201
|
})
|
|
678
1202
|
}
|
|
679
1203
|
|
|
680
1204
|
return _codec
|
|
681
1205
|
}
|
|
682
1206
|
|
|
683
|
-
export
|
|
1207
|
+
export interface PeerInfoPeerIDFieldEvent {
|
|
1208
|
+
field: '$.peerID'
|
|
1209
|
+
value: Uint8Array
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
export interface PeerInfoSignedPeerRecordFieldEvent {
|
|
1213
|
+
field: '$.signedPeerRecord'
|
|
1214
|
+
value: Uint8Array
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1217
|
+
export function encode (obj: Partial<PeerInfo>): Uint8Array {
|
|
684
1218
|
return encodeMessage(obj, PeerInfo.codec())
|
|
685
1219
|
}
|
|
686
1220
|
|
|
687
|
-
export
|
|
1221
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<PeerInfo>): PeerInfo {
|
|
688
1222
|
return decodeMessage(buf, PeerInfo.codec(), opts)
|
|
689
1223
|
}
|
|
1224
|
+
|
|
1225
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<PeerInfo>): Generator<PeerInfoPeerIDFieldEvent | PeerInfoSignedPeerRecordFieldEvent> {
|
|
1226
|
+
return streamMessage(buf, PeerInfo.codec(), opts)
|
|
1227
|
+
}
|
|
690
1228
|
}
|
|
691
1229
|
|
|
692
1230
|
export interface ControlIDontWant {
|
|
@@ -703,7 +1241,7 @@ export namespace RPC {
|
|
|
703
1241
|
w.fork()
|
|
704
1242
|
}
|
|
705
1243
|
|
|
706
|
-
if (obj.messageIDs != null) {
|
|
1244
|
+
if (obj.messageIDs != null && obj.messageIDs.length > 0) {
|
|
707
1245
|
for (const value of obj.messageIDs) {
|
|
708
1246
|
w.uint32(10)
|
|
709
1247
|
w.bytes(value)
|
|
@@ -726,7 +1264,7 @@ export namespace RPC {
|
|
|
726
1264
|
switch (tag >>> 3) {
|
|
727
1265
|
case 1: {
|
|
728
1266
|
if (opts.limits?.messageIDs != null && obj.messageIDs.length === opts.limits.messageIDs) {
|
|
729
|
-
throw new MaxLengthError('Decode error -
|
|
1267
|
+
throw new MaxLengthError('Decode error - repeated field "messageIDs" had too many elements')
|
|
730
1268
|
}
|
|
731
1269
|
|
|
732
1270
|
obj.messageIDs.push(reader.bytes())
|
|
@@ -740,19 +1278,61 @@ export namespace RPC {
|
|
|
740
1278
|
}
|
|
741
1279
|
|
|
742
1280
|
return obj
|
|
1281
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
1282
|
+
const obj = {
|
|
1283
|
+
messageIDs: 0
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
1287
|
+
|
|
1288
|
+
while (reader.pos < end) {
|
|
1289
|
+
const tag = reader.uint32()
|
|
1290
|
+
|
|
1291
|
+
switch (tag >>> 3) {
|
|
1292
|
+
case 1: {
|
|
1293
|
+
if (opts.limits?.messageIDs != null && obj.messageIDs === opts.limits.messageIDs) {
|
|
1294
|
+
throw new MaxLengthError('Streaming decode error - repeated field "messageIDs" had too many elements')
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1297
|
+
yield {
|
|
1298
|
+
field: `${prefix}.messageIDs[]`,
|
|
1299
|
+
index: obj.messageIDs,
|
|
1300
|
+
value: reader.bytes()
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
obj.messageIDs++
|
|
1304
|
+
|
|
1305
|
+
break
|
|
1306
|
+
}
|
|
1307
|
+
default: {
|
|
1308
|
+
reader.skipType(tag & 7)
|
|
1309
|
+
break
|
|
1310
|
+
}
|
|
1311
|
+
}
|
|
1312
|
+
}
|
|
743
1313
|
})
|
|
744
1314
|
}
|
|
745
1315
|
|
|
746
1316
|
return _codec
|
|
747
1317
|
}
|
|
748
1318
|
|
|
749
|
-
export
|
|
1319
|
+
export interface ControlIDontWantMessageIDsFieldEvent {
|
|
1320
|
+
field: '$.messageIDs[]'
|
|
1321
|
+
index: number
|
|
1322
|
+
value: Uint8Array
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
export function encode (obj: Partial<ControlIDontWant>): Uint8Array {
|
|
750
1326
|
return encodeMessage(obj, ControlIDontWant.codec())
|
|
751
1327
|
}
|
|
752
1328
|
|
|
753
|
-
export
|
|
1329
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<ControlIDontWant>): ControlIDontWant {
|
|
754
1330
|
return decodeMessage(buf, ControlIDontWant.codec(), opts)
|
|
755
1331
|
}
|
|
1332
|
+
|
|
1333
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<ControlIDontWant>): Generator<ControlIDontWantMessageIDsFieldEvent> {
|
|
1334
|
+
return streamMessage(buf, ControlIDontWant.codec(), opts)
|
|
1335
|
+
}
|
|
756
1336
|
}
|
|
757
1337
|
|
|
758
1338
|
let _codec: Codec<RPC>
|
|
@@ -764,14 +1344,14 @@ export namespace RPC {
|
|
|
764
1344
|
w.fork()
|
|
765
1345
|
}
|
|
766
1346
|
|
|
767
|
-
if (obj.subscriptions != null) {
|
|
1347
|
+
if (obj.subscriptions != null && obj.subscriptions.length > 0) {
|
|
768
1348
|
for (const value of obj.subscriptions) {
|
|
769
1349
|
w.uint32(10)
|
|
770
1350
|
RPC.SubOpts.codec().encode(value, w)
|
|
771
1351
|
}
|
|
772
1352
|
}
|
|
773
1353
|
|
|
774
|
-
if (obj.messages != null) {
|
|
1354
|
+
if (obj.messages != null && obj.messages.length > 0) {
|
|
775
1355
|
for (const value of obj.messages) {
|
|
776
1356
|
w.uint32(18)
|
|
777
1357
|
RPC.Message.codec().encode(value, w)
|
|
@@ -800,7 +1380,7 @@ export namespace RPC {
|
|
|
800
1380
|
switch (tag >>> 3) {
|
|
801
1381
|
case 1: {
|
|
802
1382
|
if (opts.limits?.subscriptions != null && obj.subscriptions.length === opts.limits.subscriptions) {
|
|
803
|
-
throw new MaxLengthError('Decode error -
|
|
1383
|
+
throw new MaxLengthError('Decode error - repeated field "subscriptions" had too many elements')
|
|
804
1384
|
}
|
|
805
1385
|
|
|
806
1386
|
obj.subscriptions.push(RPC.SubOpts.codec().decode(reader, reader.uint32(), {
|
|
@@ -810,7 +1390,7 @@ export namespace RPC {
|
|
|
810
1390
|
}
|
|
811
1391
|
case 2: {
|
|
812
1392
|
if (opts.limits?.messages != null && obj.messages.length === opts.limits.messages) {
|
|
813
|
-
throw new MaxLengthError('Decode error -
|
|
1393
|
+
throw new MaxLengthError('Decode error - repeated field "messages" had too many elements')
|
|
814
1394
|
}
|
|
815
1395
|
|
|
816
1396
|
obj.messages.push(RPC.Message.codec().decode(reader, reader.uint32(), {
|
|
@@ -832,17 +1412,184 @@ export namespace RPC {
|
|
|
832
1412
|
}
|
|
833
1413
|
|
|
834
1414
|
return obj
|
|
1415
|
+
}, function * (reader, length, prefix, opts = {}) {
|
|
1416
|
+
const obj = {
|
|
1417
|
+
subscriptions: 0,
|
|
1418
|
+
messages: 0
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
1422
|
+
|
|
1423
|
+
while (reader.pos < end) {
|
|
1424
|
+
const tag = reader.uint32()
|
|
1425
|
+
|
|
1426
|
+
switch (tag >>> 3) {
|
|
1427
|
+
case 1: {
|
|
1428
|
+
if (opts.limits?.subscriptions != null && obj.subscriptions === opts.limits.subscriptions) {
|
|
1429
|
+
throw new MaxLengthError('Streaming decode error - repeated field "subscriptions" had too many elements')
|
|
1430
|
+
}
|
|
1431
|
+
|
|
1432
|
+
for (const evt of RPC.SubOpts.codec().stream(reader, reader.uint32(), `${prefix}.subscriptions[]`, {
|
|
1433
|
+
limits: opts.limits?.subscriptions$
|
|
1434
|
+
})) {
|
|
1435
|
+
yield {
|
|
1436
|
+
...evt,
|
|
1437
|
+
index: obj.subscriptions
|
|
1438
|
+
}
|
|
1439
|
+
}
|
|
1440
|
+
|
|
1441
|
+
obj.subscriptions++
|
|
1442
|
+
|
|
1443
|
+
break
|
|
1444
|
+
}
|
|
1445
|
+
case 2: {
|
|
1446
|
+
if (opts.limits?.messages != null && obj.messages === opts.limits.messages) {
|
|
1447
|
+
throw new MaxLengthError('Streaming decode error - repeated field "messages" had too many elements')
|
|
1448
|
+
}
|
|
1449
|
+
|
|
1450
|
+
for (const evt of RPC.Message.codec().stream(reader, reader.uint32(), `${prefix}.messages[]`, {
|
|
1451
|
+
limits: opts.limits?.messages$
|
|
1452
|
+
})) {
|
|
1453
|
+
yield {
|
|
1454
|
+
...evt,
|
|
1455
|
+
index: obj.messages
|
|
1456
|
+
}
|
|
1457
|
+
}
|
|
1458
|
+
|
|
1459
|
+
obj.messages++
|
|
1460
|
+
|
|
1461
|
+
break
|
|
1462
|
+
}
|
|
1463
|
+
case 3: {
|
|
1464
|
+
yield * RPC.ControlMessage.codec().stream(reader, reader.uint32(), `${prefix}.control`, {
|
|
1465
|
+
limits: opts.limits?.control
|
|
1466
|
+
})
|
|
1467
|
+
|
|
1468
|
+
break
|
|
1469
|
+
}
|
|
1470
|
+
default: {
|
|
1471
|
+
reader.skipType(tag & 7)
|
|
1472
|
+
break
|
|
1473
|
+
}
|
|
1474
|
+
}
|
|
1475
|
+
}
|
|
835
1476
|
})
|
|
836
1477
|
}
|
|
837
1478
|
|
|
838
1479
|
return _codec
|
|
839
1480
|
}
|
|
840
1481
|
|
|
841
|
-
export
|
|
1482
|
+
export interface RPCSubscriptionsSubscribeFieldEvent {
|
|
1483
|
+
field: '$.subscriptions[].subscribe'
|
|
1484
|
+
value: boolean
|
|
1485
|
+
index: number
|
|
1486
|
+
}
|
|
1487
|
+
|
|
1488
|
+
export interface RPCSubscriptionsTopicFieldEvent {
|
|
1489
|
+
field: '$.subscriptions[].topic'
|
|
1490
|
+
value: string
|
|
1491
|
+
index: number
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1494
|
+
export interface RPCMessagesFromFieldEvent {
|
|
1495
|
+
field: '$.messages[].from'
|
|
1496
|
+
value: Uint8Array
|
|
1497
|
+
index: number
|
|
1498
|
+
}
|
|
1499
|
+
|
|
1500
|
+
export interface RPCMessagesDataFieldEvent {
|
|
1501
|
+
field: '$.messages[].data'
|
|
1502
|
+
value: Uint8Array
|
|
1503
|
+
index: number
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
export interface RPCMessagesSeqnoFieldEvent {
|
|
1507
|
+
field: '$.messages[].seqno'
|
|
1508
|
+
value: Uint8Array
|
|
1509
|
+
index: number
|
|
1510
|
+
}
|
|
1511
|
+
|
|
1512
|
+
export interface RPCMessagesTopicFieldEvent {
|
|
1513
|
+
field: '$.messages[].topic'
|
|
1514
|
+
value: string
|
|
1515
|
+
index: number
|
|
1516
|
+
}
|
|
1517
|
+
|
|
1518
|
+
export interface RPCMessagesSignatureFieldEvent {
|
|
1519
|
+
field: '$.messages[].signature'
|
|
1520
|
+
value: Uint8Array
|
|
1521
|
+
index: number
|
|
1522
|
+
}
|
|
1523
|
+
|
|
1524
|
+
export interface RPCMessagesKeyFieldEvent {
|
|
1525
|
+
field: '$.messages[].key'
|
|
1526
|
+
value: Uint8Array
|
|
1527
|
+
index: number
|
|
1528
|
+
}
|
|
1529
|
+
|
|
1530
|
+
export interface RPCControlIhaveTopicIDFieldEvent {
|
|
1531
|
+
field: '$.control.ihave[].topicID'
|
|
1532
|
+
value: string
|
|
1533
|
+
index: number
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
export interface RPCControlIhaveMessageIDsFieldEvent {
|
|
1537
|
+
field: '$.control.ihave[].messageIDs[]'
|
|
1538
|
+
index: number
|
|
1539
|
+
value: Uint8Array
|
|
1540
|
+
}
|
|
1541
|
+
|
|
1542
|
+
export interface RPCControlIwantMessageIDsFieldEvent {
|
|
1543
|
+
field: '$.control.iwant[].messageIDs[]'
|
|
1544
|
+
index: number
|
|
1545
|
+
value: Uint8Array
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1548
|
+
export interface RPCControlGraftTopicIDFieldEvent {
|
|
1549
|
+
field: '$.control.graft[].topicID'
|
|
1550
|
+
value: string
|
|
1551
|
+
index: number
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1554
|
+
export interface RPCControlPruneTopicIDFieldEvent {
|
|
1555
|
+
field: '$.control.prune[].topicID'
|
|
1556
|
+
value: string
|
|
1557
|
+
index: number
|
|
1558
|
+
}
|
|
1559
|
+
|
|
1560
|
+
export interface RPCControlPrunePeersPeerIDFieldEvent {
|
|
1561
|
+
field: '$.control.prune[].peers[].peerID'
|
|
1562
|
+
value: Uint8Array
|
|
1563
|
+
index: number
|
|
1564
|
+
}
|
|
1565
|
+
|
|
1566
|
+
export interface RPCControlPrunePeersSignedPeerRecordFieldEvent {
|
|
1567
|
+
field: '$.control.prune[].peers[].signedPeerRecord'
|
|
1568
|
+
value: Uint8Array
|
|
1569
|
+
index: number
|
|
1570
|
+
}
|
|
1571
|
+
|
|
1572
|
+
export interface RPCControlPruneBackoffFieldEvent {
|
|
1573
|
+
field: '$.control.prune[].backoff'
|
|
1574
|
+
value: number
|
|
1575
|
+
index: number
|
|
1576
|
+
}
|
|
1577
|
+
|
|
1578
|
+
export interface RPCControlIdontwantMessageIDsFieldEvent {
|
|
1579
|
+
field: '$.control.idontwant[].messageIDs[]'
|
|
1580
|
+
index: number
|
|
1581
|
+
value: Uint8Array
|
|
1582
|
+
}
|
|
1583
|
+
|
|
1584
|
+
export function encode (obj: Partial<RPC>): Uint8Array {
|
|
842
1585
|
return encodeMessage(obj, RPC.codec())
|
|
843
1586
|
}
|
|
844
1587
|
|
|
845
|
-
export
|
|
1588
|
+
export function decode (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<RPC>): RPC {
|
|
846
1589
|
return decodeMessage(buf, RPC.codec(), opts)
|
|
847
1590
|
}
|
|
1591
|
+
|
|
1592
|
+
export function stream (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<RPC>): Generator<RPCSubscriptionsSubscribeFieldEvent | RPCSubscriptionsTopicFieldEvent | RPCMessagesFromFieldEvent | RPCMessagesDataFieldEvent | RPCMessagesSeqnoFieldEvent | RPCMessagesTopicFieldEvent | RPCMessagesSignatureFieldEvent | RPCMessagesKeyFieldEvent | RPCControlIhaveTopicIDFieldEvent | RPCControlIhaveMessageIDsFieldEvent | RPCControlIwantMessageIDsFieldEvent | RPCControlGraftTopicIDFieldEvent | RPCControlPruneTopicIDFieldEvent | RPCControlPrunePeersPeerIDFieldEvent | RPCControlPrunePeersSignedPeerRecordFieldEvent | RPCControlPruneBackoffFieldEvent | RPCControlIdontwantMessageIDsFieldEvent> {
|
|
1593
|
+
return streamMessage(buf, RPC.codec(), opts)
|
|
1594
|
+
}
|
|
848
1595
|
}
|