@dxos/network-manager 0.6.13-main.ed424a1 → 0.6.13

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 (163) hide show
  1. package/dist/lib/browser/{chunk-MKIVP7G3.mjs → chunk-XYSYUN63.mjs} +1064 -1248
  2. package/dist/lib/browser/chunk-XYSYUN63.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +19 -10
  4. package/dist/lib/browser/meta.json +1 -1
  5. package/dist/lib/browser/testing/index.mjs +32 -22
  6. package/dist/lib/browser/testing/index.mjs.map +3 -3
  7. package/dist/lib/node/{chunk-D6P7ACEM.cjs → chunk-4YAYC7WN.cjs} +1207 -1264
  8. package/dist/lib/node/chunk-4YAYC7WN.cjs.map +7 -0
  9. package/dist/lib/node/index.cjs +37 -27
  10. package/dist/lib/node/index.cjs.map +2 -2
  11. package/dist/lib/node/meta.json +1 -1
  12. package/dist/lib/node/testing/index.cjs +34 -24
  13. package/dist/lib/node/testing/index.cjs.map +3 -3
  14. package/dist/types/src/network-manager.d.ts +1 -2
  15. package/dist/types/src/network-manager.d.ts.map +1 -1
  16. package/dist/types/src/signal/ice.d.ts.map +1 -1
  17. package/dist/types/src/signal/integration.test.d.ts +2 -0
  18. package/dist/types/src/signal/integration.test.d.ts.map +1 -0
  19. package/dist/types/src/signal/swarm-messenger.test.d.ts +2 -0
  20. package/dist/types/src/signal/swarm-messenger.test.d.ts.map +1 -0
  21. package/dist/types/src/swarm/connection.d.ts.map +1 -1
  22. package/dist/types/src/swarm/swarm.d.ts +1 -1
  23. package/dist/types/src/testing/test-builder.d.ts +2 -2
  24. package/dist/types/src/testing/test-builder.d.ts.map +1 -1
  25. package/dist/types/src/testing/test-wire-protocol.d.ts +2 -1
  26. package/dist/types/src/testing/test-wire-protocol.d.ts.map +1 -1
  27. package/dist/types/src/tests/basic-test-suite.d.ts.map +1 -1
  28. package/dist/types/src/tests/property-test-suite.d.ts.map +1 -1
  29. package/dist/types/src/tests/tcp-transport.test.d.ts +2 -0
  30. package/dist/types/src/tests/tcp-transport.test.d.ts.map +1 -0
  31. package/dist/types/src/tests/utils.d.ts.map +1 -1
  32. package/dist/types/src/transport/index.d.ts +5 -1
  33. package/dist/types/src/transport/index.d.ts.map +1 -1
  34. package/dist/types/src/transport/libdatachannel-transport.d.ts +42 -0
  35. package/dist/types/src/transport/libdatachannel-transport.d.ts.map +1 -0
  36. package/dist/types/src/transport/libdatachannel-transport.test.d.ts +2 -0
  37. package/dist/types/src/transport/libdatachannel-transport.test.d.ts.map +1 -0
  38. package/dist/types/src/transport/memory-transport.d.ts +2 -2
  39. package/dist/types/src/transport/memory-transport.d.ts.map +1 -1
  40. package/dist/types/src/transport/memory-transport.test.d.ts +2 -0
  41. package/dist/types/src/transport/memory-transport.test.d.ts.map +1 -0
  42. package/dist/types/src/transport/simplepeer-simple-peer.d.ts +2 -0
  43. package/dist/types/src/transport/simplepeer-simple-peer.d.ts.map +1 -0
  44. package/dist/types/src/transport/simplepeer-transport-proxy-test.d.ts +2 -0
  45. package/dist/types/src/transport/simplepeer-transport-proxy-test.d.ts.map +1 -0
  46. package/dist/types/src/transport/{webrtc/rtc-transport-proxy.d.ts → simplepeer-transport-proxy.d.ts} +12 -10
  47. package/dist/types/src/transport/simplepeer-transport-proxy.d.ts.map +1 -0
  48. package/dist/types/src/transport/{webrtc/rtc-transport-service.d.ts → simplepeer-transport-service.d.ts} +7 -9
  49. package/dist/types/src/transport/simplepeer-transport-service.d.ts.map +1 -0
  50. package/dist/types/src/transport/simplepeer-transport.d.ts +36 -0
  51. package/dist/types/src/transport/simplepeer-transport.d.ts.map +1 -0
  52. package/dist/types/src/transport/simplepeer-transport.test.d.ts +2 -0
  53. package/dist/types/src/transport/simplepeer-transport.test.d.ts.map +1 -0
  54. package/dist/types/src/transport/{tcp/tcp-transport.browser.d.ts → tcp-transport.browser.d.ts} +3 -3
  55. package/dist/types/src/transport/tcp-transport.browser.d.ts.map +1 -0
  56. package/dist/types/src/transport/{tcp/tcp-transport.d.ts → tcp-transport.d.ts} +3 -3
  57. package/dist/types/src/transport/tcp-transport.d.ts.map +1 -0
  58. package/dist/types/src/transport/transport.d.ts +6 -7
  59. package/dist/types/src/transport/transport.d.ts.map +1 -1
  60. package/dist/types/src/transport/webrtc.d.ts +6 -0
  61. package/dist/types/src/transport/webrtc.d.ts.map +1 -0
  62. package/package.json +30 -55
  63. package/src/globals.d.ts +7 -0
  64. package/src/network-manager.ts +13 -5
  65. package/src/signal/ice.test.ts +3 -1
  66. package/src/signal/ice.ts +1 -6
  67. package/src/signal/{integration.node.test.ts → integration.test.ts} +15 -9
  68. package/src/signal/{swarm-messenger.node.test.ts → swarm-messenger.test.ts} +23 -13
  69. package/src/swarm/connection-limiter.test.ts +6 -3
  70. package/src/swarm/connection.test.ts +38 -63
  71. package/src/swarm/connection.ts +5 -5
  72. package/src/swarm/swarm.test.ts +12 -10
  73. package/src/swarm/swarm.ts +1 -1
  74. package/src/testing/test-builder.ts +29 -13
  75. package/src/testing/test-wire-protocol.ts +4 -1
  76. package/src/tests/basic-test-suite.ts +33 -34
  77. package/src/tests/memory-transport.test.ts +42 -40
  78. package/src/tests/property-test-suite.ts +22 -21
  79. package/src/tests/tcp-transport.test.ts +67 -0
  80. package/src/tests/utils.ts +2 -3
  81. package/src/tests/webrtc-transport.test.ts +9 -9
  82. package/src/transport/index.ts +5 -1
  83. package/src/transport/libdatachannel-transport.test.ts +100 -0
  84. package/src/transport/libdatachannel-transport.ts +376 -0
  85. package/src/transport/memory-transport.test.ts +74 -0
  86. package/src/transport/memory-transport.ts +0 -2
  87. package/src/transport/simplepeer-simple-peer.ts +26 -0
  88. package/src/transport/simplepeer-transport-proxy-test.ts +181 -0
  89. package/src/transport/simplepeer-transport-proxy.ts +246 -0
  90. package/src/transport/simplepeer-transport-service.ts +160 -0
  91. package/src/transport/simplepeer-transport.test.ts +61 -0
  92. package/src/transport/simplepeer-transport.ts +250 -0
  93. package/src/transport/{tcp/tcp-transport.browser.ts → tcp-transport.browser.ts} +3 -7
  94. package/src/transport/{tcp/tcp-transport.ts → tcp-transport.ts} +1 -3
  95. package/src/transport/transport.ts +7 -8
  96. package/src/transport/webrtc.ts +15 -0
  97. package/src/typings.d.ts +2 -8
  98. package/dist/lib/browser/chunk-GW3YM55A.mjs +0 -14
  99. package/dist/lib/browser/chunk-GW3YM55A.mjs.map +0 -7
  100. package/dist/lib/browser/chunk-MKIVP7G3.mjs.map +0 -7
  101. package/dist/lib/browser/transport/tcp/index.mjs +0 -39
  102. package/dist/lib/browser/transport/tcp/index.mjs.map +0 -7
  103. package/dist/lib/node/chunk-D6P7ACEM.cjs.map +0 -7
  104. package/dist/lib/node/transport/tcp/index.cjs +0 -191
  105. package/dist/lib/node/transport/tcp/index.cjs.map +0 -7
  106. package/dist/lib/node-esm/chunk-22DA2US6.mjs +0 -4373
  107. package/dist/lib/node-esm/chunk-22DA2US6.mjs.map +0 -7
  108. package/dist/lib/node-esm/index.mjs +0 -50
  109. package/dist/lib/node-esm/index.mjs.map +0 -7
  110. package/dist/lib/node-esm/meta.json +0 -1
  111. package/dist/lib/node-esm/testing/index.mjs +0 -279
  112. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  113. package/dist/lib/node-esm/transport/tcp/index.mjs +0 -159
  114. package/dist/lib/node-esm/transport/tcp/index.mjs.map +0 -7
  115. package/dist/types/src/signal/integration.node.test.d.ts +0 -2
  116. package/dist/types/src/signal/integration.node.test.d.ts.map +0 -1
  117. package/dist/types/src/signal/swarm-messenger.node.test.d.ts +0 -2
  118. package/dist/types/src/signal/swarm-messenger.node.test.d.ts.map +0 -1
  119. package/dist/types/src/tests/tcp-transport.node.test.d.ts +0 -2
  120. package/dist/types/src/tests/tcp-transport.node.test.d.ts.map +0 -1
  121. package/dist/types/src/transport/tcp/index.d.ts +0 -2
  122. package/dist/types/src/transport/tcp/index.d.ts.map +0 -1
  123. package/dist/types/src/transport/tcp/tcp-transport.browser.d.ts.map +0 -1
  124. package/dist/types/src/transport/tcp/tcp-transport.d.ts.map +0 -1
  125. package/dist/types/src/transport/webrtc/index.d.ts +0 -4
  126. package/dist/types/src/transport/webrtc/index.d.ts.map +0 -1
  127. package/dist/types/src/transport/webrtc/rtc-connection-factory.d.ts +0 -14
  128. package/dist/types/src/transport/webrtc/rtc-connection-factory.d.ts.map +0 -1
  129. package/dist/types/src/transport/webrtc/rtc-peer-connection.d.ts +0 -68
  130. package/dist/types/src/transport/webrtc/rtc-peer-connection.d.ts.map +0 -1
  131. package/dist/types/src/transport/webrtc/rtc-transport-channel.d.ts +0 -33
  132. package/dist/types/src/transport/webrtc/rtc-transport-channel.d.ts.map +0 -1
  133. package/dist/types/src/transport/webrtc/rtc-transport-channel.test.d.ts +0 -2
  134. package/dist/types/src/transport/webrtc/rtc-transport-channel.test.d.ts.map +0 -1
  135. package/dist/types/src/transport/webrtc/rtc-transport-factory.d.ts +0 -4
  136. package/dist/types/src/transport/webrtc/rtc-transport-factory.d.ts.map +0 -1
  137. package/dist/types/src/transport/webrtc/rtc-transport-proxy.d.ts.map +0 -1
  138. package/dist/types/src/transport/webrtc/rtc-transport-proxy.test.d.ts +0 -2
  139. package/dist/types/src/transport/webrtc/rtc-transport-proxy.test.d.ts.map +0 -1
  140. package/dist/types/src/transport/webrtc/rtc-transport-service.d.ts.map +0 -1
  141. package/dist/types/src/transport/webrtc/rtc-transport-stats.d.ts +0 -4
  142. package/dist/types/src/transport/webrtc/rtc-transport-stats.d.ts.map +0 -1
  143. package/dist/types/src/transport/webrtc/rtc-transport.test.d.ts +0 -2
  144. package/dist/types/src/transport/webrtc/rtc-transport.test.d.ts.map +0 -1
  145. package/dist/types/src/transport/webrtc/test-utils.d.ts +0 -5
  146. package/dist/types/src/transport/webrtc/test-utils.d.ts.map +0 -1
  147. package/dist/types/src/transport/webrtc/utils.d.ts +0 -3
  148. package/dist/types/src/transport/webrtc/utils.d.ts.map +0 -1
  149. package/src/tests/tcp-transport.node.test.ts +0 -65
  150. package/src/transport/tcp/index.ts +0 -5
  151. package/src/transport/webrtc/index.ts +0 -7
  152. package/src/transport/webrtc/rtc-connection-factory.ts +0 -82
  153. package/src/transport/webrtc/rtc-peer-connection.ts +0 -472
  154. package/src/transport/webrtc/rtc-transport-channel.test.ts +0 -176
  155. package/src/transport/webrtc/rtc-transport-channel.ts +0 -195
  156. package/src/transport/webrtc/rtc-transport-factory.ts +0 -28
  157. package/src/transport/webrtc/rtc-transport-proxy.test.ts +0 -413
  158. package/src/transport/webrtc/rtc-transport-proxy.ts +0 -264
  159. package/src/transport/webrtc/rtc-transport-service.ts +0 -192
  160. package/src/transport/webrtc/rtc-transport-stats.ts +0 -67
  161. package/src/transport/webrtc/rtc-transport.test.ts +0 -198
  162. package/src/transport/webrtc/test-utils.ts +0 -22
  163. package/src/transport/webrtc/utils.ts +0 -36
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
@@ -1 +0,0 @@
1
- {"inputs":{"packages/core/mesh/network-manager/src/swarm/connection.ts":{"bytes":54711,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/peer.ts":{"bytes":47352,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/swarm/connection.ts","kind":"import-statement","original":"./connection"}],"format":"esm"},"packages/core/mesh/network-manager/src/signal/ice.ts":{"bytes":4665,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/signal/swarm-messenger.ts":{"bytes":22574,"imports":[{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/signal/signal-connection.ts":{"bytes":1217,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/signal/signal-messenger.ts":{"bytes":1640,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/signal/index.ts":{"bytes":832,"imports":[{"path":"packages/core/mesh/network-manager/src/signal/ice.ts","kind":"import-statement","original":"./ice"},{"path":"packages/core/mesh/network-manager/src/signal/swarm-messenger.ts","kind":"import-statement","original":"./swarm-messenger"},{"path":"packages/core/mesh/network-manager/src/signal/signal-connection.ts","kind":"import-statement","original":"./signal-connection"},{"path":"packages/core/mesh/network-manager/src/signal/signal-messenger.ts","kind":"import-statement","original":"./signal-messenger"}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/swarm.ts":{"bytes":51872,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/swarm/connection.ts","kind":"import-statement","original":"./connection"},{"path":"packages/core/mesh/network-manager/src/swarm/peer.ts","kind":"import-statement","original":"./peer"},{"path":"packages/core/mesh/network-manager/src/signal/index.ts","kind":"import-statement","original":"../signal"}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/swarm-mapper.ts":{"bytes":12298,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/connection-limiter.ts":{"bytes":8620,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/swarm/index.ts":{"bytes":817,"imports":[{"path":"packages/core/mesh/network-manager/src/swarm/connection.ts","kind":"import-statement","original":"./connection"},{"path":"packages/core/mesh/network-manager/src/swarm/swarm.ts","kind":"import-statement","original":"./swarm"},{"path":"packages/core/mesh/network-manager/src/swarm/swarm-mapper.ts","kind":"import-statement","original":"./swarm-mapper"},{"path":"packages/core/mesh/network-manager/src/swarm/connection-limiter.ts","kind":"import-statement","original":"./connection-limiter"}],"format":"esm"},"packages/core/mesh/network-manager/src/connection-log.ts":{"bytes":16365,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/swarm/index.ts","kind":"import-statement","original":"./swarm"}],"format":"esm"},"packages/core/mesh/network-manager/src/network-manager.ts":{"bytes":27557,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/connection-log.ts","kind":"import-statement","original":"./connection-log"},{"path":"packages/core/mesh/network-manager/src/swarm/index.ts","kind":"import-statement","original":"./swarm"}],"format":"esm"},"packages/core/mesh/network-manager/src/topology/fully-connected-topology.ts":{"bytes":3621,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/topology/mmst-topology.ts":{"bytes":20717,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/topology/star-topology.ts":{"bytes":8188,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/topology/topology.ts":{"bytes":2382,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/topology/index.ts":{"bytes":853,"imports":[{"path":"packages/core/mesh/network-manager/src/topology/fully-connected-topology.ts","kind":"import-statement","original":"./fully-connected-topology"},{"path":"packages/core/mesh/network-manager/src/topology/mmst-topology.ts","kind":"import-statement","original":"./mmst-topology"},{"path":"packages/core/mesh/network-manager/src/topology/star-topology.ts","kind":"import-statement","original":"./star-topology"},{"path":"packages/core/mesh/network-manager/src/topology/topology.ts","kind":"import-statement","original":"./topology"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/memory-transport.ts":{"bytes":23408,"imports":[{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/transport.ts":{"bytes":3030,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-connection-factory.ts":{"bytes":8555,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"#node-datachannel","kind":"dynamic-import","external":true},{"path":"#node-datachannel/polyfill","kind":"dynamic-import","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-stats.ts":{"bytes":7465,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-channel.ts":{"bytes":21910,"imports":[{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-stats.ts","kind":"import-statement","original":"./rtc-transport-stats"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/utils.ts":{"bytes":3970,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-peer-connection.ts":{"bytes":64581,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-channel.ts","kind":"import-statement","original":"./rtc-transport-channel"},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/utils.ts","kind":"import-statement","original":"./utils"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-factory.ts":{"bytes":3293,"imports":[{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-connection-factory.ts","kind":"import-statement","original":"./rtc-connection-factory"},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-peer-connection.ts","kind":"import-statement","original":"./rtc-peer-connection"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-proxy.ts":{"bytes":29515,"imports":[{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/bridge","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-service.ts":{"bytes":21470,"imports":[{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/bridge","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-factory.ts","kind":"import-statement","original":"./rtc-transport-factory"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/webrtc/index.ts":{"bytes":796,"imports":[{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-factory.ts","kind":"import-statement","original":"./rtc-transport-factory"},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-proxy.ts","kind":"import-statement","original":"./rtc-transport-proxy"},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-service.ts","kind":"import-statement","original":"./rtc-transport-service"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/index.ts":{"bytes":715,"imports":[{"path":"packages/core/mesh/network-manager/src/transport/memory-transport.ts","kind":"import-statement","original":"./memory-transport"},{"path":"packages/core/mesh/network-manager/src/transport/transport.ts","kind":"import-statement","original":"./transport"},{"path":"packages/core/mesh/network-manager/src/transport/webrtc/index.ts","kind":"import-statement","original":"./webrtc"}],"format":"esm"},"packages/core/mesh/network-manager/src/types.ts":{"bytes":630,"imports":[],"format":"esm"},"packages/core/mesh/network-manager/src/wire-protocol.ts":{"bytes":4331,"imports":[{"path":"@dxos/teleport","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/index.ts":{"bytes":1165,"imports":[{"path":"packages/core/mesh/network-manager/src/connection-log.ts","kind":"import-statement","original":"./connection-log"},{"path":"packages/core/mesh/network-manager/src/network-manager.ts","kind":"import-statement","original":"./network-manager"},{"path":"packages/core/mesh/network-manager/src/signal/index.ts","kind":"import-statement","original":"./signal"},{"path":"packages/core/mesh/network-manager/src/swarm/index.ts","kind":"import-statement","original":"./swarm"},{"path":"packages/core/mesh/network-manager/src/topology/index.ts","kind":"import-statement","original":"./topology"},{"path":"packages/core/mesh/network-manager/src/transport/index.ts","kind":"import-statement","original":"./transport"},{"path":"packages/core/mesh/network-manager/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/core/mesh/network-manager/src/wire-protocol.ts","kind":"import-statement","original":"./wire-protocol"}],"format":"esm"},"packages/core/mesh/network-manager/src/testing/test-wire-protocol.ts":{"bytes":12746,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/wire-protocol.ts","kind":"import-statement","original":"../wire-protocol"}],"format":"esm"},"packages/core/mesh/network-manager/src/testing/test-builder.ts":{"bytes":25770,"imports":[{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#tcp-transport","kind":"import-statement","external":true},{"path":"packages/core/mesh/network-manager/src/testing/test-wire-protocol.ts","kind":"import-statement","original":"./test-wire-protocol"},{"path":"packages/core/mesh/network-manager/src/network-manager.ts","kind":"import-statement","original":"../network-manager"},{"path":"packages/core/mesh/network-manager/src/topology/index.ts","kind":"import-statement","original":"../topology"},{"path":"packages/core/mesh/network-manager/src/transport/index.ts","kind":"import-statement","original":"../transport"},{"path":"packages/core/mesh/network-manager/src/transport/index.ts","kind":"import-statement","original":"../transport"}],"format":"esm"},"packages/core/mesh/network-manager/src/testing/index.ts":{"bytes":526,"imports":[{"path":"packages/core/mesh/network-manager/src/testing/test-builder.ts","kind":"import-statement","original":"./test-builder"}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/tcp/tcp-transport.ts":{"bytes":14662,"imports":[{"path":"node:net","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"node:net","kind":"dynamic-import","external":true}],"format":"esm"},"packages/core/mesh/network-manager/src/transport/tcp/index.ts":{"bytes":533,"imports":[{"path":"packages/core/mesh/network-manager/src/transport/tcp/tcp-transport.ts","kind":"import-statement","original":"./tcp-transport"}],"format":"esm"}},"outputs":{"packages/core/mesh/network-manager/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/core/mesh/network-manager/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/core/mesh/network-manager/dist/lib/node-esm/chunk-22DA2US6.mjs","kind":"import-statement"}],"exports":["Connection","ConnectionLimiter","ConnectionLog","ConnectionState","EventType","FullyConnectedTopology","MAX_CONCURRENT_INITIATING_CONNECTIONS","MMSTTopology","MemoryTransport","MemoryTransportFactory","RtcTransportProxy","RtcTransportProxyFactory","RtcTransportService","StarTopology","Swarm","SwarmMapper","SwarmMessenger","SwarmNetworkManager","TransportKind","createIceProvider","createRtcTransportFactory","createTeleportProtocolFactory"],"entryPoint":"packages/core/mesh/network-manager/src/index.ts","inputs":{"packages/core/mesh/network-manager/src/index.ts":{"bytesInOutput":0}},"bytes":1107},"packages/core/mesh/network-manager/dist/lib/node-esm/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18526},"packages/core/mesh/network-manager/dist/lib/node-esm/testing/index.mjs":{"imports":[{"path":"packages/core/mesh/network-manager/dist/lib/node-esm/chunk-22DA2US6.mjs","kind":"import-statement"},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#tcp-transport","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["TEST_SIGNAL_HOSTS","TestBuilder","TestPeer","TestSwarmConnection"],"entryPoint":"packages/core/mesh/network-manager/src/testing/index.ts","inputs":{"packages/core/mesh/network-manager/src/testing/test-builder.ts":{"bytesInOutput":5904},"packages/core/mesh/network-manager/src/testing/test-wire-protocol.ts":{"bytesInOutput":3196},"packages/core/mesh/network-manager/src/testing/index.ts":{"bytesInOutput":0}},"bytes":9761},"packages/core/mesh/network-manager/dist/lib/node-esm/chunk-22DA2US6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":212235},"packages/core/mesh/network-manager/dist/lib/node-esm/chunk-22DA2US6.mjs":{"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/messaging","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/client/services","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"#node-datachannel","kind":"dynamic-import","external":true},{"path":"#node-datachannel/polyfill","kind":"dynamic-import","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/tracing","kind":"import-statement","external":true},{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/bridge","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"node:stream","kind":"import-statement","external":true},{"path":"@dxos/codec-protobuf","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/bridge","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/teleport","kind":"import-statement","external":true}],"exports":["Connection","ConnectionLimiter","ConnectionLog","ConnectionState","EventType","FullyConnectedTopology","MAX_CONCURRENT_INITIATING_CONNECTIONS","MMSTTopology","MemoryTransport","MemoryTransportFactory","RtcTransportProxy","RtcTransportProxyFactory","RtcTransportService","StarTopology","Swarm","SwarmMapper","SwarmMessenger","SwarmNetworkManager","TransportKind","createIceProvider","createRtcTransportFactory","createTeleportProtocolFactory"],"inputs":{"packages/core/mesh/network-manager/src/swarm/connection.ts":{"bytesInOutput":15820},"packages/core/mesh/network-manager/src/signal/ice.ts":{"bytesInOutput":1112},"packages/core/mesh/network-manager/src/signal/swarm-messenger.ts":{"bytesInOutput":6275},"packages/core/mesh/network-manager/src/signal/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/swarm/swarm.ts":{"bytesInOutput":15004},"packages/core/mesh/network-manager/src/swarm/peer.ts":{"bytesInOutput":13356},"packages/core/mesh/network-manager/src/swarm/swarm-mapper.ts":{"bytesInOutput":2225},"packages/core/mesh/network-manager/src/swarm/connection-limiter.ts":{"bytesInOutput":2596},"packages/core/mesh/network-manager/src/swarm/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/connection-log.ts":{"bytesInOutput":3440},"packages/core/mesh/network-manager/src/network-manager.ts":{"bytesInOutput":7387},"packages/core/mesh/network-manager/src/topology/fully-connected-topology.ts":{"bytesInOutput":965},"packages/core/mesh/network-manager/src/topology/mmst-topology.ts":{"bytesInOutput":5984},"packages/core/mesh/network-manager/src/topology/star-topology.ts":{"bytesInOutput":2489},"packages/core/mesh/network-manager/src/topology/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/transport/memory-transport.ts":{"bytesInOutput":6222},"packages/core/mesh/network-manager/src/transport/transport.ts":{"bytesInOutput":256},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-connection-factory.ts":{"bytesInOutput":1528},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-peer-connection.ts":{"bytesInOutput":18662},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-channel.ts":{"bytesInOutput":5686},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-stats.ts":{"bytesInOutput":1668},"packages/core/mesh/network-manager/src/transport/webrtc/utils.ts":{"bytesInOutput":718},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-factory.ts":{"bytesInOutput":484},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-proxy.ts":{"bytesInOutput":7899},"packages/core/mesh/network-manager/src/transport/webrtc/rtc-transport-service.ts":{"bytesInOutput":5895},"packages/core/mesh/network-manager/src/transport/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/transport/webrtc/index.ts":{"bytesInOutput":0},"packages/core/mesh/network-manager/src/wire-protocol.ts":{"bytesInOutput":537}},"bytes":128686},"packages/core/mesh/network-manager/dist/lib/node-esm/transport/tcp/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6664},"packages/core/mesh/network-manager/dist/lib/node-esm/transport/tcp/index.mjs":{"imports":[{"path":"node:net","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"node:net","kind":"dynamic-import","external":true}],"exports":["TcpTransport","TcpTransportFactory"],"entryPoint":"packages/core/mesh/network-manager/src/transport/tcp/index.ts","inputs":{"packages/core/mesh/network-manager/src/transport/tcp/tcp-transport.ts":{"bytesInOutput":3765},"packages/core/mesh/network-manager/src/transport/tcp/index.ts":{"bytesInOutput":0}},"bytes":4016}}}
@@ -1,279 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- FullyConnectedTopology,
4
- MemoryTransportFactory,
5
- RtcTransportProxyFactory,
6
- RtcTransportService,
7
- SwarmNetworkManager,
8
- TransportKind,
9
- createRtcTransportFactory,
10
- createTeleportProtocolFactory
11
- } from "../chunk-22DA2US6.mjs";
12
-
13
- // packages/core/mesh/network-manager/src/testing/test-builder.ts
14
- import { PublicKey as PublicKey2 } from "@dxos/keys";
15
- import { log as log2 } from "@dxos/log";
16
- import { MemorySignalManager, MemorySignalManagerContext, WebsocketSignalManager } from "@dxos/messaging";
17
- import { schema } from "@dxos/protocols/proto";
18
- import { ConnectionState } from "@dxos/protocols/proto/dxos/client/services";
19
- import { createLinkedPorts, createProtoRpcPeer } from "@dxos/rpc";
20
- import { ComplexMap as ComplexMap2 } from "@dxos/util";
21
- import { TcpTransportFactory } from "#tcp-transport";
22
-
23
- // packages/core/mesh/network-manager/src/testing/test-wire-protocol.ts
24
- import { asyncTimeout, Event } from "@dxos/async";
25
- import { PublicKey } from "@dxos/keys";
26
- import { log } from "@dxos/log";
27
- import { TestExtension, TestExtensionWithStreams } from "@dxos/teleport";
28
- import { ComplexMap } from "@dxos/util";
29
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/core/mesh/network-manager/src/testing/test-wire-protocol.ts";
30
- var TestWireProtocol = class {
31
- constructor(_extensionFactory = () => []) {
32
- this._extensionFactory = _extensionFactory;
33
- this.connections = new ComplexMap(PublicKey.hash);
34
- this.streamConnections = new ComplexMap(PublicKey.hash);
35
- this.connected = new Event();
36
- this.disconnected = new Event();
37
- this.otherConnections = new ComplexMap(({ remotePeerId, extension }) => remotePeerId.toHex() + extension);
38
- this.factory = createTeleportProtocolFactory(async (teleport) => {
39
- log("create", {
40
- remotePeerId: teleport.remotePeerId
41
- }, {
42
- F: __dxlog_file,
43
- L: 35,
44
- S: this,
45
- C: (f, a) => f(...a)
46
- });
47
- const extension = new TestExtension({
48
- onClose: async () => {
49
- this.connections.delete(teleport.remotePeerId);
50
- this.disconnected.emit(teleport.remotePeerId);
51
- }
52
- });
53
- this.connections.set(teleport.remotePeerId, extension);
54
- teleport.addExtension("test", extension);
55
- this.connected.emit(teleport.remotePeerId);
56
- const streamExtension = new TestExtensionWithStreams({
57
- onClose: async () => {
58
- this.streamConnections.delete(teleport.remotePeerId);
59
- }
60
- });
61
- this.streamConnections.set(teleport.remotePeerId, streamExtension);
62
- teleport.addExtension("test-stream", streamExtension);
63
- for (const { name, extension: extension2 } of this._extensionFactory()) {
64
- this.otherConnections.set({
65
- remotePeerId: teleport.remotePeerId,
66
- extension: name
67
- }, extension2);
68
- teleport.addExtension(name, extension2);
69
- }
70
- });
71
- }
72
- async waitForConnection(peerId) {
73
- if (this.connections.has(peerId)) {
74
- return this.connections.get(peerId);
75
- }
76
- log("waitForConnection", {
77
- peerId
78
- }, {
79
- F: __dxlog_file,
80
- L: 64,
81
- S: this,
82
- C: (f, a) => f(...a)
83
- });
84
- await asyncTimeout(
85
- this.connected.waitFor((connectedId) => connectedId.equals(peerId)),
86
- // TODO(nf): Make this configurable.
87
- 1e4
88
- );
89
- return this.connections.get(peerId);
90
- }
91
- async testConnection(peerId, message) {
92
- const connection = await this.waitForConnection(peerId);
93
- await connection.test(message);
94
- }
95
- async openStream(peerId, streamTag, streamLoadInterval, streamLoadChunkSize) {
96
- if (!this.streamConnections.has(peerId)) {
97
- throw new Error("Connection does not exist.");
98
- }
99
- const connection = this.streamConnections.get(peerId);
100
- return connection.addNewStream(streamLoadInterval, streamLoadChunkSize, streamTag);
101
- }
102
- async closeStream(peerId, streamTag) {
103
- if (!this.streamConnections.has(peerId)) {
104
- throw new Error("Connection does not exist.");
105
- }
106
- const connection = this.streamConnections.get(peerId);
107
- return connection.closeStream(streamTag);
108
- }
109
- };
110
-
111
- // packages/core/mesh/network-manager/src/testing/test-builder.ts
112
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/core/mesh/network-manager/src/testing/test-builder.ts";
113
- var port = process.env.SIGNAL_PORT ?? 4e3;
114
- var TEST_SIGNAL_HOSTS = [
115
- {
116
- server: `ws://localhost:${port}/.well-known/dx/signal`
117
- }
118
- ];
119
- var TestBuilder = class {
120
- constructor(options = {}) {
121
- this.options = options;
122
- this._signalContext = new MemorySignalManagerContext();
123
- }
124
- createSignalManager() {
125
- if (this.options.signalHosts) {
126
- return new WebsocketSignalManager(this.options.signalHosts);
127
- }
128
- return new MemorySignalManager(this._signalContext);
129
- }
130
- createPeer(peerId = PublicKey2.random()) {
131
- return new TestPeer(this, peerId, this.options.transport);
132
- }
133
- };
134
- var TestPeer = class {
135
- constructor(testBuilder, peerId, transport = testBuilder.options.signalHosts ? TransportKind.WEB_RTC : TransportKind.MEMORY) {
136
- this.testBuilder = testBuilder;
137
- this.peerId = peerId;
138
- this.transport = transport;
139
- this._swarms = new ComplexMap2(PublicKey2.hash);
140
- this._signalManager = this.testBuilder.createSignalManager();
141
- this._networkManager = this.createNetworkManager(this.transport);
142
- }
143
- // TODO(burdon): Move to TestBuilder.
144
- createNetworkManager(transport) {
145
- let transportFactory;
146
- if (this.testBuilder.options.signalHosts) {
147
- log2.info(`using ${transport} transport with signal server.`, void 0, {
148
- F: __dxlog_file2,
149
- L: 93,
150
- S: this,
151
- C: (f, a) => f(...a)
152
- });
153
- switch (transport) {
154
- case TransportKind.MEMORY:
155
- throw new Error("Memory transport not supported with signal server.");
156
- case TransportKind.TCP:
157
- transportFactory = TcpTransportFactory;
158
- break;
159
- case TransportKind.WEB_RTC:
160
- transportFactory = createRtcTransportFactory();
161
- break;
162
- case TransportKind.WEB_RTC_PROXY:
163
- {
164
- const [proxyPort, servicePort] = createLinkedPorts();
165
- this._proxy = createProtoRpcPeer({
166
- port: proxyPort,
167
- requested: {
168
- BridgeService: schema.getService("dxos.mesh.bridge.BridgeService")
169
- },
170
- noHandshake: true,
171
- encodingOptions: {
172
- preserveAny: true
173
- }
174
- });
175
- this._service = createProtoRpcPeer({
176
- port: servicePort,
177
- exposed: {
178
- BridgeService: schema.getService("dxos.mesh.bridge.BridgeService")
179
- },
180
- handlers: {
181
- BridgeService: new RtcTransportService()
182
- },
183
- noHandshake: true,
184
- encodingOptions: {
185
- preserveAny: true
186
- }
187
- });
188
- transportFactory = new RtcTransportProxyFactory().setBridgeService(this._proxy.rpc.BridgeService);
189
- }
190
- break;
191
- default:
192
- throw new Error(`Unsupported transport: ${transport}`);
193
- }
194
- } else {
195
- if (transport !== TransportKind.MEMORY && transport !== TransportKind.TCP) {
196
- log2.warn(`specified transport ${transport} but no signalling configured, using memory transport instead`, void 0, {
197
- F: __dxlog_file2,
198
- L: 139,
199
- S: this,
200
- C: (f, a) => f(...a)
201
- });
202
- }
203
- log2.info(`using ${transport} transport without signal server.`, void 0, {
204
- F: __dxlog_file2,
205
- L: 141,
206
- S: this,
207
- C: (f, a) => f(...a)
208
- });
209
- transportFactory = MemoryTransportFactory;
210
- }
211
- return new SwarmNetworkManager({
212
- signalManager: this._signalManager,
213
- transportFactory
214
- });
215
- }
216
- async open() {
217
- await this._networkManager.open();
218
- await this._proxy?.open();
219
- await this._service?.open();
220
- }
221
- async close() {
222
- await Promise.all(Array.from(this._swarms.values()).map((swarm) => swarm.leave()));
223
- this._swarms.clear();
224
- await this._proxy?.close();
225
- await this._service?.close();
226
- await this._networkManager.close();
227
- }
228
- getSwarm(topic) {
229
- const swarm = this._swarms.get(topic);
230
- if (!swarm) {
231
- throw new Error(`Swarm not found for topic: ${topic}`);
232
- }
233
- return swarm;
234
- }
235
- createSwarm(topic, extensionFactory = () => []) {
236
- const swarm = new TestSwarmConnection(this, topic, extensionFactory);
237
- this._swarms.set(topic, swarm);
238
- return swarm;
239
- }
240
- async goOffline() {
241
- await this._networkManager.setConnectionState(ConnectionState.OFFLINE);
242
- }
243
- async goOnline() {
244
- await this._networkManager.setConnectionState(ConnectionState.ONLINE);
245
- }
246
- };
247
- var TestSwarmConnection = class {
248
- constructor(peer, topic, extensionFactory) {
249
- this.peer = peer;
250
- this.topic = topic;
251
- this.extensionFactory = extensionFactory;
252
- this.protocol = new TestWireProtocol(this.extensionFactory);
253
- }
254
- // TODO(burdon): Need to create new plugin instance per swarm?
255
- // If so, then perhaps joinSwarm should return swarm object with access to plugins.
256
- async join(topology = new FullyConnectedTopology()) {
257
- await this.peer._networkManager.joinSwarm({
258
- topic: this.topic,
259
- peerInfo: {
260
- peerKey: this.peer.peerId.toHex(),
261
- identityKey: this.peer.peerId.toHex()
262
- },
263
- protocolProvider: this.protocol.factory,
264
- topology
265
- });
266
- return this;
267
- }
268
- async leave() {
269
- await this.peer._networkManager.leaveSwarm(this.topic);
270
- return this;
271
- }
272
- };
273
- export {
274
- TEST_SIGNAL_HOSTS,
275
- TestBuilder,
276
- TestPeer,
277
- TestSwarmConnection
278
- };
279
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/testing/test-builder.ts", "../../../../src/testing/test-wire-protocol.ts"],
4
- "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport {\n MemorySignalManager,\n MemorySignalManagerContext,\n type SignalManager,\n WebsocketSignalManager,\n} from '@dxos/messaging';\nimport { schema } from '@dxos/protocols/proto';\nimport { ConnectionState } from '@dxos/protocols/proto/dxos/client/services';\nimport { type Runtime } from '@dxos/protocols/proto/dxos/config';\nimport { createLinkedPorts, createProtoRpcPeer, type ProtoRpcPeer } from '@dxos/rpc';\nimport { ComplexMap } from '@dxos/util';\n\nimport { TcpTransportFactory } from '#tcp-transport';\nimport { type TestTeleportExtensionFactory, TestWireProtocol } from './test-wire-protocol';\nimport { SwarmNetworkManager } from '../network-manager';\nimport { FullyConnectedTopology } from '../topology';\nimport { MemoryTransportFactory, type TransportFactory, TransportKind } from '../transport';\nimport { createRtcTransportFactory, RtcTransportProxyFactory, RtcTransportService } from '../transport';\n\n// Signal server will be started by the setup script.\nconst port = process.env.SIGNAL_PORT ?? 4000;\nexport const TEST_SIGNAL_HOSTS: Runtime.Services.Signal[] = [\n { server: `ws://localhost:${port}/.well-known/dx/signal` },\n];\n\nexport type TestBuilderOptions = {\n signalHosts?: Runtime.Services.Signal[];\n bridge?: boolean;\n transport?: TransportKind;\n};\n\n/**\n * Builder used to construct networks and peers.\n */\nexport class TestBuilder {\n private _signalContext = new MemorySignalManagerContext();\n\n constructor(public readonly options: TestBuilderOptions = {}) {}\n\n createSignalManager() {\n if (this.options.signalHosts) {\n return new WebsocketSignalManager(this.options.signalHosts);\n }\n\n return new MemorySignalManager(this._signalContext);\n }\n\n createPeer(peerId: PublicKey = PublicKey.random()) {\n return new TestPeer(this, peerId, this.options.transport);\n }\n}\n\n/**\n * Testing network peer.\n */\nexport class TestPeer {\n private readonly _swarms = new ComplexMap<PublicKey, TestSwarmConnection>(PublicKey.hash);\n\n /**\n * @internal\n */\n readonly _signalManager: SignalManager;\n\n /**\n * @internal\n */\n readonly _networkManager: SwarmNetworkManager;\n\n private _proxy?: ProtoRpcPeer<any>;\n private _service?: ProtoRpcPeer<any>;\n\n constructor(\n private readonly testBuilder: TestBuilder,\n public readonly peerId: PublicKey,\n public readonly transport: TransportKind = testBuilder.options.signalHosts\n ? TransportKind.WEB_RTC\n : TransportKind.MEMORY,\n ) {\n this._signalManager = this.testBuilder.createSignalManager();\n this._networkManager = this.createNetworkManager(this.transport);\n }\n\n // TODO(burdon): Move to TestBuilder.\n createNetworkManager(transport: TransportKind) {\n let transportFactory: TransportFactory;\n if (this.testBuilder.options.signalHosts) {\n log.info(`using ${transport} transport with signal server.`);\n switch (transport) {\n case TransportKind.MEMORY:\n throw new Error('Memory transport not supported with signal server.');\n case TransportKind.TCP:\n transportFactory = TcpTransportFactory;\n break;\n case TransportKind.WEB_RTC:\n transportFactory = createRtcTransportFactory();\n break;\n case TransportKind.WEB_RTC_PROXY:\n {\n // Simulates bridge to shared worker.\n const [proxyPort, servicePort] = createLinkedPorts();\n\n this._proxy = createProtoRpcPeer({\n port: proxyPort,\n requested: {\n BridgeService: schema.getService('dxos.mesh.bridge.BridgeService'),\n },\n noHandshake: true,\n encodingOptions: {\n preserveAny: true,\n },\n });\n\n this._service = createProtoRpcPeer({\n port: servicePort,\n exposed: {\n BridgeService: schema.getService('dxos.mesh.bridge.BridgeService'),\n },\n handlers: { BridgeService: new RtcTransportService() },\n noHandshake: true,\n encodingOptions: {\n preserveAny: true,\n },\n });\n\n transportFactory = new RtcTransportProxyFactory().setBridgeService(this._proxy.rpc.BridgeService);\n }\n break;\n default:\n throw new Error(`Unsupported transport: ${transport}`);\n }\n } else {\n if (transport !== TransportKind.MEMORY && transport !== TransportKind.TCP) {\n log.warn(`specified transport ${transport} but no signalling configured, using memory transport instead`);\n }\n log.info(`using ${transport} transport without signal server.`);\n transportFactory = MemoryTransportFactory;\n }\n\n return new SwarmNetworkManager({\n signalManager: this._signalManager,\n transportFactory,\n });\n }\n\n async open() {\n await this._networkManager.open();\n await this._proxy?.open();\n await this._service?.open();\n }\n\n async close() {\n await Promise.all(Array.from(this._swarms.values()).map((swarm) => swarm.leave()));\n this._swarms.clear();\n\n await this._proxy?.close();\n await this._service?.close();\n await this._networkManager.close();\n }\n\n getSwarm(topic: PublicKey): TestSwarmConnection {\n const swarm = this._swarms.get(topic);\n if (!swarm) {\n throw new Error(`Swarm not found for topic: ${topic}`);\n }\n\n return swarm;\n }\n\n createSwarm(topic: PublicKey, extensionFactory: TestTeleportExtensionFactory = () => []): TestSwarmConnection {\n // TODO(burdon): Multiple.\n // if (this._swarms.get(topic)) {\n // throw new Error(`Swarm already exists for topic: ${topic.truncate()}`);\n // }\n\n const swarm = new TestSwarmConnection(this, topic, extensionFactory);\n this._swarms.set(topic, swarm);\n return swarm;\n }\n\n async goOffline() {\n await this._networkManager.setConnectionState(ConnectionState.OFFLINE);\n }\n\n async goOnline() {\n await this._networkManager.setConnectionState(ConnectionState.ONLINE);\n }\n}\n\n// TODO(burdon): Reconcile with new Swarm concept.\nexport class TestSwarmConnection {\n protocol: TestWireProtocol;\n\n constructor(\n readonly peer: TestPeer,\n readonly topic: PublicKey,\n readonly extensionFactory: TestTeleportExtensionFactory,\n ) {\n // TODO(burdon): Configure plugins.\n // TODO(burdon): Prevent reuse?\n this.protocol = new TestWireProtocol(this.extensionFactory);\n }\n\n // TODO(burdon): Need to create new plugin instance per swarm?\n // If so, then perhaps joinSwarm should return swarm object with access to plugins.\n async join(topology = new FullyConnectedTopology()) {\n await this.peer._networkManager.joinSwarm({\n topic: this.topic,\n peerInfo: { peerKey: this.peer.peerId.toHex(), identityKey: this.peer.peerId.toHex() },\n protocolProvider: this.protocol.factory,\n topology,\n });\n\n return this;\n }\n\n async leave() {\n await this.peer._networkManager.leaveSwarm(this.topic);\n return this;\n }\n}\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { asyncTimeout, Event } from '@dxos/async';\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { TestExtension, TestExtensionWithStreams } from '@dxos/teleport';\nimport type { TestStreamStats, TeleportExtension } from '@dxos/teleport';\nimport { ComplexMap } from '@dxos/util';\n\nimport { createTeleportProtocolFactory } from '../wire-protocol';\n\nexport type TestTeleportExtension = {\n name: string;\n extension: TeleportExtension;\n};\n\nexport type TestTeleportExtensionFactory = () => TestTeleportExtension[];\n\nexport class TestWireProtocol {\n public readonly connections = new ComplexMap<PublicKey, TestExtension>(PublicKey.hash);\n public readonly streamConnections = new ComplexMap<PublicKey, TestExtensionWithStreams>(PublicKey.hash);\n\n public readonly connected = new Event<PublicKey>();\n public readonly disconnected = new Event<PublicKey>();\n\n public readonly otherConnections = new ComplexMap<{ remotePeerId: PublicKey; extension: string }, TeleportExtension>(\n ({ remotePeerId, extension }) => remotePeerId.toHex() + extension,\n );\n\n constructor(private readonly _extensionFactory: TestTeleportExtensionFactory = () => []) {}\n\n readonly factory = createTeleportProtocolFactory(async (teleport) => {\n log('create', { remotePeerId: teleport.remotePeerId });\n const extension = new TestExtension({\n onClose: async () => {\n this.connections.delete(teleport.remotePeerId);\n this.disconnected.emit(teleport.remotePeerId);\n },\n });\n this.connections.set(teleport.remotePeerId, extension);\n teleport.addExtension('test', extension);\n this.connected.emit(teleport.remotePeerId);\n\n const streamExtension = new TestExtensionWithStreams({\n onClose: async () => {\n this.streamConnections.delete(teleport.remotePeerId);\n },\n });\n this.streamConnections.set(teleport.remotePeerId, streamExtension);\n teleport.addExtension('test-stream', streamExtension);\n\n for (const { name, extension } of this._extensionFactory()) {\n this.otherConnections.set({ remotePeerId: teleport.remotePeerId, extension: name }, extension);\n teleport.addExtension(name, extension);\n }\n });\n\n async waitForConnection(peerId: PublicKey) {\n if (this.connections.has(peerId)) {\n return this.connections.get(peerId)!;\n }\n log('waitForConnection', { peerId });\n await asyncTimeout(\n this.connected.waitFor((connectedId) => connectedId.equals(peerId)),\n // TODO(nf): Make this configurable.\n 10_000,\n );\n return this.connections.get(peerId)!;\n }\n\n async testConnection(peerId: PublicKey, message?: string) {\n const connection = await this.waitForConnection(peerId);\n await connection.test(message);\n }\n\n async openStream(\n peerId: PublicKey,\n streamTag: string,\n streamLoadInterval: number,\n streamLoadChunkSize: number,\n ): Promise<string> {\n if (!this.streamConnections.has(peerId)) {\n throw new Error('Connection does not exist.');\n }\n const connection = this.streamConnections.get(peerId)!;\n return connection.addNewStream(streamLoadInterval, streamLoadChunkSize, streamTag);\n }\n\n async closeStream(peerId: PublicKey, streamTag: string): Promise<TestStreamStats> {\n if (!this.streamConnections.has(peerId)) {\n throw new Error('Connection does not exist.');\n }\n const connection = this.streamConnections.get(peerId)!;\n return connection.closeStream(streamTag);\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["PublicKey", "log", "MemorySignalManager", "MemorySignalManagerContext", "WebsocketSignalManager", "schema", "ConnectionState", "createLinkedPorts", "createProtoRpcPeer", "ComplexMap", "TcpTransportFactory", "asyncTimeout", "Event", "PublicKey", "log", "TestExtension", "TestExtensionWithStreams", "ComplexMap", "TestWireProtocol", "constructor", "_extensionFactory", "connections", "ComplexMap", "PublicKey", "hash", "streamConnections", "connected", "Event", "disconnected", "otherConnections", "remotePeerId", "extension", "toHex", "factory", "createTeleportProtocolFactory", "teleport", "log", "TestExtension", "onClose", "delete", "emit", "set", "addExtension", "streamExtension", "TestExtensionWithStreams", "name", "waitForConnection", "peerId", "has", "get", "asyncTimeout", "waitFor", "connectedId", "equals", "testConnection", "message", "connection", "test", "openStream", "streamTag", "streamLoadInterval", "streamLoadChunkSize", "Error", "addNewStream", "closeStream", "port", "process", "env", "SIGNAL_PORT", "TEST_SIGNAL_HOSTS", "server", "TestBuilder", "constructor", "options", "_signalContext", "MemorySignalManagerContext", "createSignalManager", "signalHosts", "WebsocketSignalManager", "MemorySignalManager", "createPeer", "peerId", "PublicKey", "random", "TestPeer", "transport", "testBuilder", "TransportKind", "WEB_RTC", "MEMORY", "_swarms", "ComplexMap", "hash", "_signalManager", "_networkManager", "createNetworkManager", "transportFactory", "log", "info", "Error", "TCP", "TcpTransportFactory", "createRtcTransportFactory", "WEB_RTC_PROXY", "proxyPort", "servicePort", "createLinkedPorts", "_proxy", "createProtoRpcPeer", "requested", "BridgeService", "schema", "getService", "noHandshake", "encodingOptions", "preserveAny", "_service", "exposed", "handlers", "RtcTransportService", "RtcTransportProxyFactory", "setBridgeService", "rpc", "warn", "MemoryTransportFactory", "SwarmNetworkManager", "signalManager", "open", "close", "Promise", "all", "Array", "from", "values", "map", "swarm", "leave", "clear", "getSwarm", "topic", "get", "createSwarm", "extensionFactory", "TestSwarmConnection", "set", "goOffline", "setConnectionState", "ConnectionState", "OFFLINE", "goOnline", "ONLINE", "peer", "protocol", "TestWireProtocol", "join", "topology", "FullyConnectedTopology", "joinSwarm", "peerInfo", "peerKey", "toHex", "identityKey", "protocolProvider", "factory", "leaveSwarm"]
7
- }
@@ -1,159 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // packages/core/mesh/network-manager/src/transport/tcp/tcp-transport.ts
4
- import { Socket } from "node:net";
5
- import { Event } from "@dxos/async";
6
- import { ErrorStream } from "@dxos/debug";
7
- import { log } from "@dxos/log";
8
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/core/mesh/network-manager/src/transport/tcp/tcp-transport.ts";
9
- var TcpTransportFactory = {
10
- createTransport: (options) => new TcpTransport(options)
11
- };
12
- var TcpTransport = class {
13
- constructor(options) {
14
- this.options = options;
15
- this._server = void 0;
16
- this._socket = void 0;
17
- this._connected = false;
18
- this._closed = false;
19
- this.closed = new Event();
20
- this.connected = new Event();
21
- this.errors = new ErrorStream();
22
- }
23
- get isOpen() {
24
- return this._connected && !this._closed;
25
- }
26
- async open() {
27
- log("opening", void 0, {
28
- F: __dxlog_file,
29
- L: 39,
30
- S: this,
31
- C: (f, a) => f(...a)
32
- });
33
- if (this.options.initiator) {
34
- setTimeout(async () => {
35
- const { Server } = await import("node:net");
36
- this._server = new Server((socket) => {
37
- log("new connection", void 0, {
38
- F: __dxlog_file,
39
- L: 47,
40
- S: this,
41
- C: (f, a) => f(...a)
42
- });
43
- if (this._connected) {
44
- socket.destroy();
45
- }
46
- this._handleSocket(socket);
47
- });
48
- this._server.on("listening", () => {
49
- const { port } = this._server.address();
50
- log("listening", {
51
- port
52
- }, {
53
- F: __dxlog_file,
54
- L: 56,
55
- S: this,
56
- C: (f, a) => f(...a)
57
- });
58
- void this.options.sendSignal({
59
- payload: {
60
- port
61
- }
62
- }).catch((err) => {
63
- if (!this._closed) {
64
- this.errors.raise(err);
65
- }
66
- });
67
- });
68
- this._server.on("error", (err) => {
69
- this.errors.raise(err);
70
- });
71
- this._server.listen(0);
72
- });
73
- }
74
- return this;
75
- }
76
- async close() {
77
- log("closing", void 0, {
78
- F: __dxlog_file,
79
- L: 79,
80
- S: this,
81
- C: (f, a) => f(...a)
82
- });
83
- this._socket?.destroy();
84
- this._server?.close();
85
- this._closed = true;
86
- return this;
87
- }
88
- async onSignal({ payload }) {
89
- log("received signal", {
90
- payload
91
- }, {
92
- F: __dxlog_file,
93
- L: 87,
94
- S: this,
95
- C: (f, a) => f(...a)
96
- });
97
- if (this.options.initiator || this._connected) {
98
- return;
99
- }
100
- const socket = new Socket();
101
- this._handleSocket(socket);
102
- socket.connect({
103
- port: payload.port,
104
- host: "localhost"
105
- });
106
- }
107
- async getDetails() {
108
- if (this.options.initiator) {
109
- const { port: port2, address: address2 } = this._server?.address();
110
- return `LISTEN ${address2}:${port2}`;
111
- }
112
- const { port, address } = this._socket?.address();
113
- return `ACCEPT ${address}:${port}`;
114
- }
115
- async getStats() {
116
- return {
117
- bytesSent: 0,
118
- bytesReceived: 0,
119
- packetsSent: 0,
120
- packetsReceived: 0
121
- };
122
- }
123
- _handleSocket(socket) {
124
- log("handling socket", {
125
- remotePort: socket.remotePort,
126
- localPort: socket.localPort
127
- }, {
128
- F: __dxlog_file,
129
- L: 117,
130
- S: this,
131
- C: (f, a) => f(...a)
132
- });
133
- this._socket = socket;
134
- this._socket.on("connect", () => {
135
- log("connected to", {
136
- port: this._socket?.remotePort
137
- }, {
138
- F: __dxlog_file,
139
- L: 121,
140
- S: this,
141
- C: (f, a) => f(...a)
142
- });
143
- this._connected = true;
144
- });
145
- this._socket.on("error", (err) => {
146
- this.errors.raise(err);
147
- });
148
- this._socket.on("close", () => {
149
- this.closed.emit();
150
- });
151
- this.connected.emit();
152
- this.options.stream.pipe(this._socket).pipe(this.options.stream);
153
- }
154
- };
155
- export {
156
- TcpTransport,
157
- TcpTransportFactory
158
- };
159
- //# sourceMappingURL=index.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/transport/tcp/tcp-transport.ts"],
4
- "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nimport { type AddressInfo, Socket, type Server } from 'node:net';\n\nimport { Event } from '@dxos/async';\nimport { ErrorStream } from '@dxos/debug';\nimport { log } from '@dxos/log';\nimport { type Signal } from '@dxos/protocols/proto/dxos/mesh/swarm';\n\nimport { type Transport, type TransportFactory, type TransportOptions, type TransportStats } from '../transport';\n\nexport const TcpTransportFactory: TransportFactory = {\n createTransport: (options) => new TcpTransport(options),\n};\n\n/**\n * Fake transport.\n */\nexport class TcpTransport implements Transport {\n private _server?: Server = undefined;\n private _socket?: Socket = undefined;\n\n private _connected = false;\n private _closed = false;\n\n public readonly closed = new Event<void>();\n public readonly connected = new Event<void>();\n public readonly errors = new ErrorStream();\n\n constructor(private readonly options: TransportOptions) {}\n\n get isOpen() {\n return this._connected && !this._closed;\n }\n\n async open() {\n log('opening');\n\n // Initiator will send a signal, the receiver will receive the unique ID and connect the streams.\n if (this.options.initiator) {\n // TODO(burdon): Why timeout?\n setTimeout(async () => {\n const { Server } = await import('node:net');\n this._server = new Server((socket) => {\n log('new connection');\n if (this._connected) {\n socket.destroy();\n }\n this._handleSocket(socket);\n });\n\n this._server.on('listening', () => {\n const { port } = this._server!.address() as AddressInfo;\n log('listening', { port });\n void this.options\n .sendSignal({\n payload: { port },\n })\n .catch((err) => {\n if (!this._closed) {\n this.errors.raise(err);\n }\n });\n });\n\n this._server.on('error', (err) => {\n this.errors.raise(err);\n });\n\n this._server.listen(0);\n });\n }\n return this;\n }\n\n async close() {\n log('closing');\n this._socket?.destroy();\n this._server?.close();\n this._closed = true;\n return this;\n }\n\n async onSignal({ payload }: Signal) {\n log('received signal', { payload });\n if (this.options.initiator || this._connected) {\n return;\n }\n\n const socket = new Socket();\n this._handleSocket(socket);\n socket.connect({ port: payload.port, host: 'localhost' });\n }\n\n async getDetails(): Promise<string> {\n if (this.options.initiator) {\n const { port, address } = this._server?.address() as AddressInfo;\n return `LISTEN ${address}:${port}`;\n }\n\n const { port, address } = this._socket?.address() as AddressInfo;\n return `ACCEPT ${address}:${port}`;\n }\n\n async getStats(): Promise<TransportStats> {\n return {\n bytesSent: 0,\n bytesReceived: 0,\n packetsSent: 0,\n packetsReceived: 0,\n };\n }\n\n private _handleSocket(socket: Socket) {\n log('handling socket', { remotePort: socket.remotePort, localPort: socket.localPort });\n this._socket = socket;\n\n this._socket.on('connect', () => {\n log('connected to', { port: this._socket?.remotePort });\n this._connected = true;\n });\n\n this._socket.on('error', (err) => {\n this.errors.raise(err);\n });\n\n this._socket.on('close', () => {\n this.closed.emit();\n });\n\n this.connected.emit();\n this.options.stream.pipe(this._socket!).pipe(this.options.stream);\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["Socket", "Event", "ErrorStream", "log", "TcpTransportFactory", "createTransport", "options", "TcpTransport", "constructor", "_server", "undefined", "_socket", "_connected", "_closed", "closed", "connected", "errors", "isOpen", "open", "initiator", "setTimeout", "Server", "socket", "destroy", "_handleSocket", "on", "port", "address", "sendSignal", "payload", "catch", "err", "raise", "listen", "close", "onSignal", "connect", "host", "getDetails", "getStats", "bytesSent", "bytesReceived", "packetsSent", "packetsReceived", "remotePort", "localPort", "emit", "stream", "pipe"]
7
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=integration.node.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration.node.test.d.ts","sourceRoot":"","sources":["../../../../src/signal/integration.node.test.ts"],"names":[],"mappings":""}