@libp2p/webrtc 5.2.23-cf9aab5c8 → 5.2.24-0f07e3df5

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 (89) hide show
  1. package/README.md +10 -20
  2. package/dist/index.min.js +18 -18
  3. package/dist/index.min.js.map +4 -4
  4. package/dist/src/constants.d.ts +0 -23
  5. package/dist/src/constants.d.ts.map +1 -1
  6. package/dist/src/constants.js +0 -23
  7. package/dist/src/constants.js.map +1 -1
  8. package/dist/src/index.d.ts +12 -22
  9. package/dist/src/index.d.ts.map +1 -1
  10. package/dist/src/index.js +12 -22
  11. package/dist/src/index.js.map +1 -1
  12. package/dist/src/muxer.d.ts +14 -46
  13. package/dist/src/muxer.d.ts.map +1 -1
  14. package/dist/src/muxer.js +32 -135
  15. package/dist/src/muxer.js.map +1 -1
  16. package/dist/src/private-to-private/initiate-connection.d.ts +2 -3
  17. package/dist/src/private-to-private/initiate-connection.d.ts.map +1 -1
  18. package/dist/src/private-to-private/initiate-connection.js +23 -5
  19. package/dist/src/private-to-private/initiate-connection.js.map +1 -1
  20. package/dist/src/private-to-private/signaling-stream-handler.d.ts +4 -4
  21. package/dist/src/private-to-private/signaling-stream-handler.d.ts.map +1 -1
  22. package/dist/src/private-to-private/signaling-stream-handler.js +10 -6
  23. package/dist/src/private-to-private/signaling-stream-handler.js.map +1 -1
  24. package/dist/src/private-to-private/transport.d.ts +2 -2
  25. package/dist/src/private-to-private/transport.d.ts.map +1 -1
  26. package/dist/src/private-to-private/transport.js +30 -15
  27. package/dist/src/private-to-private/transport.js.map +1 -1
  28. package/dist/src/private-to-private/util.d.ts +3 -1
  29. package/dist/src/private-to-private/util.d.ts.map +1 -1
  30. package/dist/src/private-to-private/util.js +15 -3
  31. package/dist/src/private-to-private/util.js.map +1 -1
  32. package/dist/src/private-to-public/listener.d.ts.map +1 -1
  33. package/dist/src/private-to-public/listener.js +21 -15
  34. package/dist/src/private-to-public/listener.js.map +1 -1
  35. package/dist/src/private-to-public/transport.d.ts.map +1 -1
  36. package/dist/src/private-to-public/transport.js +3 -2
  37. package/dist/src/private-to-public/transport.js.map +1 -1
  38. package/dist/src/private-to-public/utils/connect.d.ts +1 -1
  39. package/dist/src/private-to-public/utils/connect.d.ts.map +1 -1
  40. package/dist/src/private-to-public/utils/connect.js +17 -14
  41. package/dist/src/private-to-public/utils/connect.js.map +1 -1
  42. package/dist/src/private-to-public/utils/get-rtcpeerconnection.d.ts +4 -4
  43. package/dist/src/private-to-public/utils/get-rtcpeerconnection.d.ts.map +1 -1
  44. package/dist/src/private-to-public/utils/get-rtcpeerconnection.js +13 -2
  45. package/dist/src/private-to-public/utils/get-rtcpeerconnection.js.map +1 -1
  46. package/dist/src/private-to-public/utils/sdp.d.ts.map +1 -1
  47. package/dist/src/private-to-public/utils/sdp.js +25 -13
  48. package/dist/src/private-to-public/utils/sdp.js.map +1 -1
  49. package/dist/src/private-to-public/utils/stun-listener.js +1 -1
  50. package/dist/src/private-to-public/utils/stun-listener.js.map +1 -1
  51. package/dist/src/rtcpeerconnection-to-conn.d.ts +12 -0
  52. package/dist/src/rtcpeerconnection-to-conn.d.ts.map +1 -0
  53. package/dist/src/rtcpeerconnection-to-conn.js +43 -0
  54. package/dist/src/rtcpeerconnection-to-conn.js.map +1 -0
  55. package/dist/src/stream.d.ts +13 -26
  56. package/dist/src/stream.d.ts.map +1 -1
  57. package/dist/src/stream.js +64 -166
  58. package/dist/src/stream.js.map +1 -1
  59. package/dist/src/util.d.ts +3 -1
  60. package/dist/src/util.d.ts.map +1 -1
  61. package/dist/src/util.js +19 -0
  62. package/dist/src/util.js.map +1 -1
  63. package/dist/src/webrtc/index.d.ts +1 -1
  64. package/dist/src/webrtc/index.d.ts.map +1 -1
  65. package/dist/src/webrtc/index.js +1 -1
  66. package/dist/src/webrtc/index.js.map +1 -1
  67. package/package.json +26 -29
  68. package/src/constants.ts +0 -28
  69. package/src/index.ts +12 -22
  70. package/src/muxer.ts +43 -166
  71. package/src/private-to-private/initiate-connection.ts +30 -8
  72. package/src/private-to-private/signaling-stream-handler.ts +12 -9
  73. package/src/private-to-private/transport.ts +33 -17
  74. package/src/private-to-private/util.ts +21 -4
  75. package/src/private-to-public/listener.ts +22 -15
  76. package/src/private-to-public/transport.ts +3 -2
  77. package/src/private-to-public/utils/connect.ts +18 -15
  78. package/src/private-to-public/utils/get-rtcpeerconnection.ts +16 -4
  79. package/src/private-to-public/utils/sdp.ts +29 -13
  80. package/src/private-to-public/utils/stun-listener.ts +1 -1
  81. package/src/rtcpeerconnection-to-conn.ts +62 -0
  82. package/src/stream.ts +74 -194
  83. package/src/util.ts +22 -1
  84. package/src/webrtc/index.ts +1 -1
  85. package/dist/src/maconn.d.ts +0 -58
  86. package/dist/src/maconn.d.ts.map +0 -1
  87. package/dist/src/maconn.js +0 -56
  88. package/dist/src/maconn.js.map +0 -1
  89. package/src/maconn.ts +0 -101
package/src/maconn.ts DELETED
@@ -1,101 +0,0 @@
1
- import { nopSink, nopSource } from './util.js'
2
- import type { RTCPeerConnection } from './webrtc/index.js'
3
- import type { ComponentLogger, Logger, MultiaddrConnection, MultiaddrConnectionTimeline, CounterGroup } from '@libp2p/interface'
4
- import type { AbortOptions, Multiaddr } from '@multiformats/multiaddr'
5
- import type { Source, Sink } from 'it-stream-types'
6
- import type { Uint8ArrayList } from 'uint8arraylist'
7
-
8
- interface WebRTCMultiaddrConnectionInit {
9
- /**
10
- * WebRTC Peer Connection
11
- */
12
- peerConnection: RTCPeerConnection
13
-
14
- /**
15
- * The multiaddr address used to communicate with the remote peer
16
- */
17
- remoteAddr: Multiaddr
18
-
19
- /**
20
- * Holds the relevant events timestamps of the connection
21
- */
22
- timeline: MultiaddrConnectionTimeline
23
-
24
- /**
25
- * Optional metrics counter group for this connection
26
- */
27
- metrics?: CounterGroup
28
- }
29
-
30
- export interface WebRTCMultiaddrConnectionComponents {
31
- logger: ComponentLogger
32
- }
33
-
34
- export class WebRTCMultiaddrConnection implements MultiaddrConnection {
35
- readonly log: Logger
36
-
37
- /**
38
- * WebRTC Peer Connection
39
- */
40
- readonly peerConnection: RTCPeerConnection
41
-
42
- /**
43
- * The multiaddr address used to communicate with the remote peer
44
- */
45
- remoteAddr: Multiaddr
46
-
47
- /**
48
- * Holds the life cycle times of the connection
49
- */
50
- timeline: MultiaddrConnectionTimeline
51
-
52
- /**
53
- * Optional metrics counter group for this connection
54
- */
55
- metrics?: CounterGroup
56
-
57
- /**
58
- * The stream source, a no-op as the transport natively supports multiplexing
59
- */
60
- source: AsyncGenerator<Uint8Array, any, unknown> = nopSource()
61
-
62
- /**
63
- * The stream destination, a no-op as the transport natively supports multiplexing
64
- */
65
- sink: Sink<Source<Uint8Array | Uint8ArrayList>, Promise<void>> = nopSink
66
-
67
- constructor (components: WebRTCMultiaddrConnectionComponents, init: WebRTCMultiaddrConnectionInit) {
68
- this.log = components.logger.forComponent('libp2p:webrtc:maconn')
69
- this.remoteAddr = init.remoteAddr
70
- this.timeline = init.timeline
71
- this.peerConnection = init.peerConnection
72
-
73
- const peerConnection = this.peerConnection
74
- const initialState = peerConnection.connectionState
75
-
76
- this.peerConnection.onconnectionstatechange = () => {
77
- this.log.trace('peer connection state change', peerConnection.connectionState, 'initial state', initialState)
78
-
79
- if (peerConnection.connectionState === 'disconnected' || peerConnection.connectionState === 'failed' || peerConnection.connectionState === 'closed') {
80
- // nothing else to do but close the connection
81
- this.timeline.close = Date.now()
82
- }
83
- }
84
- }
85
-
86
- async close (options?: AbortOptions): Promise<void> {
87
- this.log.trace('closing connection')
88
-
89
- this.peerConnection.close()
90
- this.timeline.close = Date.now()
91
- this.metrics?.increment({ close: true })
92
- }
93
-
94
- abort (err: Error): void {
95
- this.log.error('closing connection due to error', err)
96
-
97
- this.peerConnection.close()
98
- this.timeline.close = Date.now()
99
- this.metrics?.increment({ abort: true })
100
- }
101
- }