@libp2p/interface-compliance-tests 3.0.7-e9cafd3d → 3.0.7-eabf6f36

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.
Files changed (51) hide show
  1. package/dist/src/connection/index.js +5 -5
  2. package/dist/src/connection/index.js.map +1 -1
  3. package/dist/src/connection-encryption/utils/index.d.ts.map +1 -1
  4. package/dist/src/connection-encryption/utils/index.js +1 -0
  5. package/dist/src/connection-encryption/utils/index.js.map +1 -1
  6. package/dist/src/index.d.ts.map +1 -1
  7. package/dist/src/is-valid-tick.d.ts.map +1 -1
  8. package/dist/src/is-valid-tick.js.map +1 -1
  9. package/dist/src/mocks/connection-manager.d.ts.map +1 -1
  10. package/dist/src/mocks/connection.d.ts.map +1 -1
  11. package/dist/src/mocks/connection.js +30 -21
  12. package/dist/src/mocks/connection.js.map +1 -1
  13. package/dist/src/mocks/multiaddr-connection.d.ts.map +1 -1
  14. package/dist/src/mocks/multiaddr-connection.js +9 -0
  15. package/dist/src/mocks/multiaddr-connection.js.map +1 -1
  16. package/dist/src/mocks/muxer.d.ts +28 -0
  17. package/dist/src/mocks/muxer.d.ts.map +1 -1
  18. package/dist/src/mocks/muxer.js +85 -211
  19. package/dist/src/mocks/muxer.js.map +1 -1
  20. package/dist/src/mocks/upgrader.d.ts +1 -1
  21. package/dist/src/mocks/upgrader.d.ts.map +1 -1
  22. package/dist/src/stream-muxer/close-test.d.ts.map +1 -1
  23. package/dist/src/stream-muxer/close-test.js +100 -12
  24. package/dist/src/stream-muxer/close-test.js.map +1 -1
  25. package/dist/src/stream-muxer/fixtures/pb/message.d.ts +13 -0
  26. package/dist/src/stream-muxer/fixtures/pb/message.d.ts.map +1 -0
  27. package/dist/src/stream-muxer/fixtures/pb/message.js +67 -0
  28. package/dist/src/stream-muxer/fixtures/pb/message.js.map +1 -0
  29. package/dist/src/stream-muxer/spawner.d.ts.map +1 -1
  30. package/dist/src/stream-muxer/spawner.js +4 -3
  31. package/dist/src/stream-muxer/spawner.js.map +1 -1
  32. package/dist/src/stream-muxer/stress-test.js +1 -1
  33. package/dist/src/stream-muxer/stress-test.js.map +1 -1
  34. package/dist/src/transport/listen-test.js +1 -1
  35. package/dist/src/transport/listen-test.js.map +1 -1
  36. package/package.json +15 -14
  37. package/src/connection/index.ts +5 -5
  38. package/src/connection-encryption/utils/index.ts +1 -0
  39. package/src/index.ts +0 -1
  40. package/src/is-valid-tick.ts +0 -1
  41. package/src/mocks/connection-manager.ts +2 -2
  42. package/src/mocks/connection.ts +35 -24
  43. package/src/mocks/multiaddr-connection.ts +9 -0
  44. package/src/mocks/muxer.ts +105 -247
  45. package/src/mocks/upgrader.ts +1 -1
  46. package/src/stream-muxer/close-test.ts +110 -14
  47. package/src/stream-muxer/fixtures/pb/message.proto +7 -0
  48. package/src/stream-muxer/fixtures/pb/message.ts +87 -0
  49. package/src/stream-muxer/spawner.ts +3 -2
  50. package/src/stream-muxer/stress-test.ts +1 -1
  51. package/src/transport/listen-test.ts +1 -1
@@ -0,0 +1,87 @@
1
+ /* eslint-disable import/export */
2
+ /* eslint-disable complexity */
3
+ /* eslint-disable @typescript-eslint/no-namespace */
4
+ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
5
+ /* eslint-disable @typescript-eslint/no-empty-interface */
6
+
7
+ import { encodeMessage, decodeMessage, message } from 'protons-runtime'
8
+ import type { Codec } from 'protons-runtime'
9
+ import type { Uint8ArrayList } from 'uint8arraylist'
10
+
11
+ export interface Message {
12
+ message: string
13
+ value: number
14
+ flag: boolean
15
+ }
16
+
17
+ export namespace Message {
18
+ let _codec: Codec<Message>
19
+
20
+ export const codec = (): Codec<Message> => {
21
+ if (_codec == null) {
22
+ _codec = message<Message>((obj, w, opts = {}) => {
23
+ if (opts.lengthDelimited !== false) {
24
+ w.fork()
25
+ }
26
+
27
+ if ((obj.message != null && obj.message !== '')) {
28
+ w.uint32(10)
29
+ w.string(obj.message)
30
+ }
31
+
32
+ if ((obj.value != null && obj.value !== 0)) {
33
+ w.uint32(16)
34
+ w.uint32(obj.value)
35
+ }
36
+
37
+ if ((obj.flag != null && obj.flag !== false)) {
38
+ w.uint32(24)
39
+ w.bool(obj.flag)
40
+ }
41
+
42
+ if (opts.lengthDelimited !== false) {
43
+ w.ldelim()
44
+ }
45
+ }, (reader, length) => {
46
+ const obj: any = {
47
+ message: '',
48
+ value: 0,
49
+ flag: false
50
+ }
51
+
52
+ const end = length == null ? reader.len : reader.pos + length
53
+
54
+ while (reader.pos < end) {
55
+ const tag = reader.uint32()
56
+
57
+ switch (tag >>> 3) {
58
+ case 1:
59
+ obj.message = reader.string()
60
+ break
61
+ case 2:
62
+ obj.value = reader.uint32()
63
+ break
64
+ case 3:
65
+ obj.flag = reader.bool()
66
+ break
67
+ default:
68
+ reader.skipType(tag & 7)
69
+ break
70
+ }
71
+ }
72
+
73
+ return obj
74
+ })
75
+ }
76
+
77
+ return _codec
78
+ }
79
+
80
+ export const encode = (obj: Partial<Message>): Uint8Array => {
81
+ return encodeMessage(obj, Message.codec())
82
+ }
83
+
84
+ export const decode = (buf: Uint8Array | Uint8ArrayList): Message => {
85
+ return decodeMessage(buf, Message.codec())
86
+ }
87
+ }
@@ -19,9 +19,10 @@ export default async (createMuxer: (init?: StreamMuxerInit) => Promise<StreamMux
19
19
  void pipe(
20
20
  stream,
21
21
  drain
22
- ).then(() => {
23
- stream.close()
22
+ ).then(async () => {
23
+ await stream.close()
24
24
  })
25
+ .catch(err => { stream.abort(err) })
25
26
  }
26
27
  })
27
28
  const dialer = await createMuxer({ direction: 'outbound' })
@@ -9,7 +9,7 @@ export default (common: TestSetup<StreamMuxerFactory>): void => {
9
9
  }
10
10
 
11
11
  describe('stress test', function () {
12
- this.timeout(800000)
12
+ this.timeout(1600000)
13
13
 
14
14
  it('1 stream with 1 msg', async () => { await spawn(createMuxer, 1, 1) })
15
15
  it('1 stream with 10 msg', async () => { await spawn(createMuxer, 1, 10) })
@@ -93,7 +93,7 @@ export default (common: TestSetup<TransportTestFixtures>): void => {
93
93
  listener.close()
94
94
  ])
95
95
 
96
- stream1.close()
96
+ await stream1.close()
97
97
  await conn1.close()
98
98
 
99
99
  expect(isValidTick(conn1.timeline.close)).to.equal(true)