@dxos/network-manager 0.8.2-main.fbd8ed0 → 0.8.2-staging.4d6ad0f

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 (65) hide show
  1. package/dist/lib/browser/{chunk-LOUV2QRE.mjs → chunk-LFKR6BAF.mjs} +12 -24
  2. package/dist/lib/browser/chunk-LFKR6BAF.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +1 -1
  4. package/dist/lib/browser/meta.json +1 -1
  5. package/dist/lib/browser/testing/index.mjs +1 -1
  6. package/dist/lib/browser/testing/index.mjs.map +3 -3
  7. package/dist/lib/browser/transport/tcp/index.mjs.map +2 -2
  8. package/dist/lib/node/{chunk-NGSQDQ6O.cjs → chunk-2G6RZMS5.cjs} +15 -27
  9. package/dist/lib/node/chunk-2G6RZMS5.cjs.map +7 -0
  10. package/dist/lib/node/index.cjs +23 -23
  11. package/dist/lib/node/index.cjs.map +1 -1
  12. package/dist/lib/node/meta.json +1 -1
  13. package/dist/lib/node/testing/index.cjs +14 -14
  14. package/dist/lib/node/testing/index.cjs.map +3 -3
  15. package/dist/lib/node/transport/tcp/index.cjs.map +3 -3
  16. package/dist/lib/node-esm/{chunk-2TV33CKS.mjs → chunk-QQY4BF6O.mjs} +12 -24
  17. package/dist/lib/node-esm/chunk-QQY4BF6O.mjs.map +7 -0
  18. package/dist/lib/node-esm/index.mjs +1 -1
  19. package/dist/lib/node-esm/meta.json +1 -1
  20. package/dist/lib/node-esm/testing/index.mjs +1 -1
  21. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  22. package/dist/lib/node-esm/transport/tcp/index.mjs.map +3 -3
  23. package/dist/types/src/connection-log.d.ts.map +1 -1
  24. package/dist/types/src/network-manager.d.ts.map +1 -1
  25. package/dist/types/src/swarm/connection-limiter.d.ts.map +1 -1
  26. package/dist/types/src/swarm/connection.d.ts.map +1 -1
  27. package/dist/types/src/swarm/peer.d.ts.map +1 -1
  28. package/dist/types/src/swarm/swarm-mapper.d.ts.map +1 -1
  29. package/dist/types/src/swarm/swarm.d.ts.map +1 -1
  30. package/dist/types/src/testing/test-builder.d.ts.map +1 -1
  31. package/dist/types/src/testing/test-wire-protocol.d.ts.map +1 -1
  32. package/dist/types/src/topology/fully-connected-topology.d.ts.map +1 -1
  33. package/dist/types/src/topology/mmst-topology.d.ts.map +1 -1
  34. package/dist/types/src/topology/star-topology.d.ts.map +1 -1
  35. package/dist/types/src/transport/memory-transport.d.ts.map +1 -1
  36. package/dist/types/src/transport/tcp/tcp-transport.browser.d.ts.map +1 -1
  37. package/dist/types/src/transport/tcp/tcp-transport.d.ts.map +1 -1
  38. package/dist/types/src/transport/webrtc/rtc-peer-connection.d.ts.map +1 -1
  39. package/dist/types/src/transport/webrtc/rtc-transport-channel.d.ts.map +1 -1
  40. package/dist/types/src/transport/webrtc/rtc-transport-proxy.d.ts.map +1 -1
  41. package/dist/types/src/transport/webrtc/rtc-transport-service.d.ts.map +1 -1
  42. package/package.json +18 -18
  43. package/src/connection-log.ts +3 -3
  44. package/src/network-manager.ts +5 -5
  45. package/src/swarm/connection-limiter.ts +1 -1
  46. package/src/swarm/connection.ts +10 -10
  47. package/src/swarm/peer.ts +5 -5
  48. package/src/swarm/swarm-mapper.ts +2 -2
  49. package/src/swarm/swarm.ts +10 -10
  50. package/src/testing/test-builder.ts +9 -9
  51. package/src/testing/test-wire-protocol.ts +2 -2
  52. package/src/topology/fully-connected-topology.ts +1 -1
  53. package/src/topology/mmst-topology.ts +3 -3
  54. package/src/topology/star-topology.ts +1 -1
  55. package/src/transport/memory-transport.ts +10 -5
  56. package/src/transport/tcp/tcp-transport.browser.ts +3 -3
  57. package/src/transport/tcp/tcp-transport.ts +4 -4
  58. package/src/transport/webrtc/rtc-connection-factory.ts +5 -5
  59. package/src/transport/webrtc/rtc-peer-connection.ts +9 -9
  60. package/src/transport/webrtc/rtc-transport-channel.ts +6 -6
  61. package/src/transport/webrtc/rtc-transport-proxy.ts +7 -7
  62. package/src/transport/webrtc/rtc-transport-service.ts +3 -3
  63. package/dist/lib/browser/chunk-LOUV2QRE.mjs.map +0 -7
  64. package/dist/lib/node/chunk-NGSQDQ6O.cjs.map +0 -7
  65. package/dist/lib/node-esm/chunk-2TV33CKS.mjs.map +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"rtc-transport-channel.d.ts","sourceRoot":"","sources":["../../../../../src/transport/webrtc/rtc-transport-channel.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAO1F;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,QAAS,YAAW,SAAS;IAWlE,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAX3B,SAAgB,MAAM,mBAAoB;IAC1C,SAAgB,SAAS,mBAAoB;IAC7C,SAAgB,MAAM,cAAqB;IAE3C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,0BAA0B,CAA6C;IAC/E,OAAO,CAAC,4BAA4B,CAAS;gBAG1B,WAAW,EAAE,iBAAiB,EAC9B,QAAQ,EAAE,gBAAgB;IAK7C,IAAW,8BAA8B,YAExC;IAEM,iBAAiB,CAAC,KAAK,EAAE,KAAK;cAMZ,KAAK;cA6BL,MAAM;IAW/B,OAAO,CAAC,YAAY;YAwDN,mBAAmB;IA+BjC,OAAO,CAAC,iBAAiB;IAQlB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;CAG1C"}
1
+ {"version":3,"file":"rtc-transport-channel.d.ts","sourceRoot":"","sources":["../../../../../src/transport/webrtc/rtc-transport-channel.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAO1F;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,QAAS,YAAW,SAAS;IAWlE,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAX3B,SAAgB,MAAM,mBAAoB;IAC1C,SAAgB,SAAS,mBAAoB;IAC7C,SAAgB,MAAM,cAAqB;IAE3C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,0BAA0B,CAA6C;IAC/E,OAAO,CAAC,4BAA4B,CAAS;gBAG1B,WAAW,EAAE,iBAAiB,EAC9B,QAAQ,EAAE,gBAAgB;IAK7C,IAAW,8BAA8B,YAExC;IAEM,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;cAMnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cA6BtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAWhD,OAAO,CAAC,YAAY;YAwDN,mBAAmB;IA+BjC,OAAO,CAAC,iBAAiB;IAQlB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;CAG1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"rtc-transport-proxy.d.ts","sourceRoot":"","sources":["../../../../../src/transport/webrtc/rtc-transport-proxy.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,OAAO,EAAoB,KAAK,aAAa,EAAmB,MAAM,wCAAwC,CAAC;AAC/G,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAGpE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAMjH,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG;IACxD,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,QAAS,YAAW,SAAS;IAStD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IARrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAE/C,QAAQ,CAAC,MAAM,cAAe;IAC9B,QAAQ,CAAC,SAAS,cAAe;IACjC,QAAQ,CAAC,MAAM,cAAqB;IAEpC,OAAO,CAAC,cAAc,CAAkC;gBAE3B,QAAQ,EAAE,wBAAwB;cAItC,KAAK;cAiFL,MAAM;IAiBzB,QAAQ,CAAC,MAAM,EAAE,MAAM;YAMf,iBAAiB;IAkB/B,OAAO,CAAC,WAAW;YASL,aAAa;IAWrB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAY7B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAezC,OAAO,CAAC,YAAY;IAQpB;;OAEG;IACH,UAAU;CAIX;AAED,qBAAa,wBAAyB,YAAW,gBAAgB;IAC/D,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,YAAY,CAAgC;IAEpD;;;OAGG;IACH,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI;IAQhE,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS;CAStD"}
1
+ {"version":3,"file":"rtc-transport-proxy.d.ts","sourceRoot":"","sources":["../../../../../src/transport/webrtc/rtc-transport-proxy.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,OAAO,EAAoB,KAAK,aAAa,EAAmB,MAAM,wCAAwC,CAAC;AAC/G,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAGpE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAMjH,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG;IACxD,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,QAAS,YAAW,SAAS;IAStD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IARrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAE/C,QAAQ,CAAC,MAAM,cAAe;IAC9B,QAAQ,CAAC,SAAS,cAAe;IACjC,QAAQ,CAAC,MAAM,cAAqB;IAEpC,OAAO,CAAC,cAAc,CAAkC;gBAE3B,QAAQ,EAAE,wBAAwB;cAItC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAiFtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB1C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAM/B,iBAAiB;IAkB/B,OAAO,CAAC,WAAW;YASL,aAAa;IAWrB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAY7B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAezC,OAAO,CAAC,YAAY;IAQpB;;OAEG;IACH,UAAU,IAAI,IAAI;CAInB;AAED,qBAAa,wBAAyB,YAAW,gBAAgB;IAC/D,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,YAAY,CAAgC;IAEpD;;;OAGG;IACH,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI;IAQhE,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS;CAStD"}
@@ -1 +1 @@
1
- {"version":3,"file":"rtc-transport-service.d.ts","sourceRoot":"","sources":["../../../../../src/transport/webrtc/rtc-transport-service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAIrD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,wCAAwC,CAAC;AAIhD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AASrE,qBAAa,mBAAoB,YAAW,aAAa;IAMrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IALpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6D;gBAG3F,YAAY,CAAC,EAAE,gBAAgB,EAC/B,WAAW,CAAC,EAAE,WAAW,EACR,iBAAiB,GAAE,gBAAuE;IAGtG,iBAAiB;IAIxB,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;IAuE/C,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7D,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAOjE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAO3D,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1D,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,YAAY;YAUvB,mBAAmB;CAmBlC"}
1
+ {"version":3,"file":"rtc-transport-service.d.ts","sourceRoot":"","sources":["../../../../../src/transport/webrtc/rtc-transport-service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAIrD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAEhB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,wCAAwC,CAAC;AAIhD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AASrE,qBAAa,mBAAoB,YAAW,aAAa;IAMrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IALpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6D;gBAG3F,YAAY,CAAC,EAAE,gBAAgB,EAC/B,WAAW,CAAC,EAAE,WAAW,EACR,iBAAiB,GAAE,gBAAuE;IAGtG,iBAAiB,IAAI,OAAO;IAInC,IAAI,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;IAuE/C,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7D,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAOjE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAO3D,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1D,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;YAUvC,mBAAmB;CAmBlC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/network-manager",
3
- "version": "0.8.2-main.fbd8ed0",
3
+ "version": "0.8.2-staging.4d6ad0f",
4
4
  "description": "Network Manager",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -74,29 +74,29 @@
74
74
  "tiny-invariant": "^1.3.1",
75
75
  "ws": "^8.14.2",
76
76
  "xor-distance": "^2.0.0",
77
- "@dxos/async": "0.8.2-main.fbd8ed0",
78
- "@dxos/codec-protobuf": "0.8.2-main.fbd8ed0",
79
- "@dxos/context": "0.8.2-main.fbd8ed0",
80
- "@dxos/debug": "0.8.2-main.fbd8ed0",
81
- "@dxos/invariant": "0.8.2-main.fbd8ed0",
82
- "@dxos/log": "0.8.2-main.fbd8ed0",
83
- "@dxos/messaging": "0.8.2-main.fbd8ed0",
84
- "@dxos/keys": "0.8.2-main.fbd8ed0",
85
- "@dxos/protocols": "0.8.2-main.fbd8ed0",
86
- "@dxos/rpc": "0.8.2-main.fbd8ed0",
87
- "@dxos/node-std": "0.8.2-main.fbd8ed0",
88
- "@dxos/teleport": "0.8.2-main.fbd8ed0",
89
- "@dxos/util": "0.8.2-main.fbd8ed0",
90
- "@dxos/tracing": "0.8.2-main.fbd8ed0"
77
+ "@dxos/context": "0.8.2-staging.4d6ad0f",
78
+ "@dxos/async": "0.8.2-staging.4d6ad0f",
79
+ "@dxos/debug": "0.8.2-staging.4d6ad0f",
80
+ "@dxos/keys": "0.8.2-staging.4d6ad0f",
81
+ "@dxos/log": "0.8.2-staging.4d6ad0f",
82
+ "@dxos/codec-protobuf": "0.8.2-staging.4d6ad0f",
83
+ "@dxos/invariant": "0.8.2-staging.4d6ad0f",
84
+ "@dxos/messaging": "0.8.2-staging.4d6ad0f",
85
+ "@dxos/node-std": "0.8.2-staging.4d6ad0f",
86
+ "@dxos/protocols": "0.8.2-staging.4d6ad0f",
87
+ "@dxos/rpc": "0.8.2-staging.4d6ad0f",
88
+ "@dxos/util": "0.8.2-staging.4d6ad0f",
89
+ "@dxos/teleport": "0.8.2-staging.4d6ad0f",
90
+ "@dxos/tracing": "0.8.2-staging.4d6ad0f"
91
91
  },
92
92
  "devDependencies": {
93
93
  "@swc-node/register": "1.9.1",
94
94
  "@types/ws": "^7.4.0",
95
95
  "fast-check": "^3.19.0",
96
96
  "fetch-mock": "^11.0.0",
97
- "@dxos/edge-client": "0.8.2-main.fbd8ed0",
98
- "@dxos/signal": "0.8.2-main.fbd8ed0",
99
- "@dxos/keyring": "0.8.2-main.fbd8ed0"
97
+ "@dxos/edge-client": "0.8.2-staging.4d6ad0f",
98
+ "@dxos/keyring": "0.8.2-staging.4d6ad0f",
99
+ "@dxos/signal": "0.8.2-staging.4d6ad0f"
100
100
  },
101
101
  "publishConfig": {
102
102
  "access": "public"
@@ -30,7 +30,7 @@ export class ConnectionLog {
30
30
 
31
31
  readonly update = new Event();
32
32
 
33
- getSwarmInfo(swarmId: PublicKey) {
33
+ getSwarmInfo(swarmId: PublicKey): SwarmInfo {
34
34
  return this._swarms.get(swarmId) ?? raise(new Error(`Swarm not found: ${swarmId}`));
35
35
  }
36
36
 
@@ -38,7 +38,7 @@ export class ConnectionLog {
38
38
  return Array.from(this._swarms.values());
39
39
  }
40
40
 
41
- joinedSwarm(swarm: Swarm) {
41
+ joinedSwarm(swarm: Swarm): void {
42
42
  const info: SwarmInfo = {
43
43
  id: PublicKey.from(swarm._instanceId),
44
44
  topic: swarm.topic,
@@ -126,7 +126,7 @@ export class ConnectionLog {
126
126
  });
127
127
  }
128
128
 
129
- leftSwarm(swarm: Swarm) {
129
+ leftSwarm(swarm: Swarm): void {
130
130
  this.getSwarmInfo(PublicKey.from(swarm._instanceId)).isActive = false;
131
131
  this.update.emit();
132
132
  }
@@ -125,18 +125,18 @@ export class SwarmNetworkManager {
125
125
  return this._swarms.get(topic);
126
126
  }
127
127
 
128
- setPeerInfo(peerInfo: PeerInfo) {
128
+ setPeerInfo(peerInfo: PeerInfo): void {
129
129
  this._peerInfo = peerInfo;
130
130
  }
131
131
 
132
- async open() {
132
+ async open(): Promise<void> {
133
133
  log.trace('dxos.mesh.network-manager.open', trace.begin({ id: this._instanceId }));
134
134
  await this._messenger.open();
135
135
  await this._signalManager.open();
136
136
  log.trace('dxos.mesh.network-manager.open', trace.end({ id: this._instanceId }));
137
137
  }
138
138
 
139
- async close() {
139
+ async close(): Promise<void> {
140
140
  for (const topic of this._swarms.keys()) {
141
141
  await this.leaveSwarm(topic).catch((err) => {
142
142
  log(err);
@@ -202,7 +202,7 @@ export class SwarmNetworkManager {
202
202
  * Close the connection.
203
203
  */
204
204
  @synchronized
205
- async leaveSwarm(topic: PublicKey) {
205
+ async leaveSwarm(topic: PublicKey): Promise<void> {
206
206
  if (!this._swarms.has(topic)) {
207
207
  // log.warn('swarm not open', { topic: PublicKey.from(topic).truncate() });
208
208
  return;
@@ -225,7 +225,7 @@ export class SwarmNetworkManager {
225
225
  log('left', { topic: PublicKey.from(topic), count: this._swarms.size });
226
226
  }
227
227
 
228
- async setConnectionState(state: ConnectionState) {
228
+ async setConnectionState(state: ConnectionState): Promise<void> {
229
229
  if (state === this._connectionState) {
230
230
  return;
231
231
  }
@@ -60,7 +60,7 @@ export class ConnectionLimiter {
60
60
  /**
61
61
  * Rejects promise returned by `connecting` method.
62
62
  */
63
- doneConnecting(sessionId: PublicKey) {
63
+ doneConnecting(sessionId: PublicKey): void {
64
64
  log('done', { sessionId });
65
65
  if (!this._waitingPromises.has(sessionId)) {
66
66
  return;
@@ -163,7 +163,7 @@ export class Connection {
163
163
  /**
164
164
  * Create an underlying transport and prepares it for the connection.
165
165
  */
166
- async openConnection() {
166
+ async openConnection(): Promise<void> {
167
167
  invariant(this._state === ConnectionState.INITIAL, 'Invalid state.');
168
168
  log.trace('dxos.mesh.connection.open-connection', trace.begin({ id: this._instanceId }));
169
169
  log.trace('dxos.mesh.connection.open', {
@@ -261,7 +261,7 @@ export class Connection {
261
261
  @synchronized
262
262
  // TODO(nf): make the caller responsible for recording the reason and determining flow control.
263
263
  // TODO(nf): make abort cancel an existing close in progress.
264
- async abort(err?: Error) {
264
+ async abort(err?: Error): Promise<void> {
265
265
  log('abort', { err });
266
266
  if (this._state === ConnectionState.CLOSED || this._state === ConnectionState.ABORTED) {
267
267
  log(`abort ignored: already ${this._state}`, this.closeReason);
@@ -301,7 +301,7 @@ export class Connection {
301
301
  }
302
302
 
303
303
  @synchronized
304
- async close({ error, reason }: { error?: Error; reason?: string } = {}) {
304
+ async close({ error, reason }: { error?: Error; reason?: string } = {}): Promise<void> {
305
305
  log('close', { error });
306
306
  if (!this.closeReason) {
307
307
  this.closeReason = reason ?? error?.message;
@@ -347,24 +347,24 @@ export class Connection {
347
347
  this._callbacks?.onClosed?.(error);
348
348
  }
349
349
 
350
- private async _closeProtocol(options?: { abort: boolean }) {
350
+ private async _closeProtocol(options?: { abort: boolean }): Promise<void> {
351
351
  log('closing protocol', options);
352
352
  await Promise.race([options?.abort ? this._protocol.abort() : this._protocol.close(), this._protocolClosed.wait()]);
353
353
  log('protocol closed', options);
354
354
  }
355
355
 
356
- private async _closeTransport() {
356
+ private async _closeTransport(): Promise<void> {
357
357
  log('closing transport');
358
358
  await Promise.race([this._transport?.close(), this._transportClosed.wait()]);
359
359
  log('transport closed');
360
360
  }
361
361
 
362
- private _sendSignal(signal: Signal) {
362
+ private _sendSignal(signal: Signal): void {
363
363
  this._outgoingSignalBuffer.push(signal);
364
364
  this._signalSendTask.schedule();
365
365
  }
366
366
 
367
- private async _flushSignalBuffer() {
367
+ private async _flushSignalBuffer(): Promise<void> {
368
368
  if (this._outgoingSignalBuffer.length === 0) {
369
369
  return;
370
370
  }
@@ -404,7 +404,7 @@ export class Connection {
404
404
  /**
405
405
  * Receive a signal from the remote peer.
406
406
  */
407
- async signal(msg: SignalMessage) {
407
+ async signal(msg: SignalMessage): Promise<void> {
408
408
  invariant(msg.sessionId);
409
409
  if (!msg.sessionId.equals(this.sessionId)) {
410
410
  log('dropping signal for incorrect session id');
@@ -431,7 +431,7 @@ export class Connection {
431
431
  }
432
432
  }
433
433
 
434
- initiate() {
434
+ initiate(): void {
435
435
  this._changeState(ConnectionState.INITIAL);
436
436
  }
437
437
 
@@ -442,7 +442,7 @@ export class Connection {
442
442
  this.stateChanged.emit(state);
443
443
  }
444
444
 
445
- private async _emitTransportStats() {
445
+ private async _emitTransportStats(): Promise<void> {
446
446
  const stats = await this.transport?.getStats();
447
447
  if (stats) {
448
448
  this.transportStats.emit(stats);
package/src/swarm/peer.ts CHANGED
@@ -167,7 +167,7 @@ export class Peer {
167
167
  /**
168
168
  * Initiate a connection to the remote peer.
169
169
  */
170
- async initiateConnection() {
170
+ async initiateConnection(): Promise<void> {
171
171
  invariant(!this.initiating, 'Initiation in progress.');
172
172
  invariant(!this.connection, 'Already connected.');
173
173
  const sessionId = PublicKey.random();
@@ -244,7 +244,7 @@ export class Peer {
244
244
  * Create new connection.
245
245
  * Either we're initiating a connection or creating one in response to an offer from the other peer.
246
246
  */
247
- private _createConnection(initiator: boolean, sessionId: PublicKey) {
247
+ private _createConnection(initiator: boolean, sessionId: PublicKey): Connection {
248
248
  log('creating connection', {
249
249
  topic: this.topic,
250
250
  peerId: this.localInfo,
@@ -360,7 +360,7 @@ export class Peer {
360
360
  return connection;
361
361
  }
362
362
 
363
- async closeConnection(err?: Error) {
363
+ async closeConnection(err?: Error): Promise<void> {
364
364
  if (!this.connection) {
365
365
  return;
366
366
  }
@@ -376,7 +376,7 @@ export class Peer {
376
376
  log('closed', { peerId: this.remoteInfo, sessionId: connection.sessionId });
377
377
  }
378
378
 
379
- async onSignal(message: SignalMessage) {
379
+ async onSignal(message: SignalMessage): Promise<void> {
380
380
  if (!this.connection) {
381
381
  log('dropping signal message for non-existent connection', { message });
382
382
  return;
@@ -386,7 +386,7 @@ export class Peer {
386
386
  }
387
387
 
388
388
  @synchronized
389
- async safeDestroy(reason?: string) {
389
+ async safeDestroy(reason?: string): Promise<void> {
390
390
  await this._ctx.dispose();
391
391
  log('Destroying peer', { peerId: this.remoteInfo, topic: this.topic });
392
392
 
@@ -67,7 +67,7 @@ export class SwarmMapper {
67
67
  this._update();
68
68
  }
69
69
 
70
- private _update() {
70
+ private _update(): void {
71
71
  log('updating swarm');
72
72
 
73
73
  this._peers.clear();
@@ -118,7 +118,7 @@ export class SwarmMapper {
118
118
  }
119
119
 
120
120
  // TODO(burdon): Async open/close.
121
- destroy() {
121
+ destroy(): void {
122
122
  Array.from(this._connectionSubscriptions.values()).forEach((cb) => cb());
123
123
  this._connectionSubscriptions.clear();
124
124
  this._subscriptions.clear();
@@ -128,7 +128,7 @@ export class Swarm {
128
128
  return this._topic;
129
129
  }
130
130
 
131
- async open() {
131
+ async open(): Promise<void> {
132
132
  invariant(!this._listeningHandle);
133
133
  this._listeningHandle = await this._messenger.listen({
134
134
  peer: this._ownPeer,
@@ -142,7 +142,7 @@ export class Swarm {
142
142
  });
143
143
  }
144
144
 
145
- async destroy() {
145
+ async destroy(): Promise<void> {
146
146
  log('destroying...');
147
147
  await this._listeningHandle?.unsubscribe();
148
148
  this._listeningHandle = undefined;
@@ -153,7 +153,7 @@ export class Swarm {
153
153
  log('destroyed');
154
154
  }
155
155
 
156
- async setTopology(topology: Topology) {
156
+ async setTopology(topology: Topology): Promise<void> {
157
157
  invariant(!this._ctx.disposed, 'Swarm is offline');
158
158
  if (topology === this._topology) {
159
159
  return;
@@ -228,7 +228,7 @@ export class Swarm {
228
228
  return answer;
229
229
  }
230
230
 
231
- private _getOfferSenderPeer(senderInfo: PeerInfo) {
231
+ private _getOfferSenderPeer(senderInfo: PeerInfo): Peer {
232
232
  const peer = this._getOrCreatePeer(senderInfo);
233
233
 
234
234
  // Handle fast peer reconnect (eg. tab reload)
@@ -261,14 +261,14 @@ export class Swarm {
261
261
 
262
262
  // For debug purposes
263
263
  @synchronized
264
- async goOffline() {
264
+ async goOffline(): Promise<void> {
265
265
  await this._ctx.dispose();
266
266
  await Promise.all([...this._peers.keys()].map((peerId) => this._destroyPeer(peerId, 'goOffline')));
267
267
  }
268
268
 
269
269
  // For debug purposes
270
270
  @synchronized
271
- async goOnline() {
271
+ async goOnline(): Promise<void> {
272
272
  this._ctx = new Context();
273
273
  }
274
274
 
@@ -328,7 +328,7 @@ export class Swarm {
328
328
  return peer;
329
329
  }
330
330
 
331
- private async _destroyPeer(peerInfo: PeerInfo, reason?: string) {
331
+ private async _destroyPeer(peerInfo: PeerInfo, reason?: string): Promise<void> {
332
332
  log('destroy peer', { peerKey: peerInfo.peerKey, reason });
333
333
  const peer = this._peers.get(peerInfo);
334
334
  invariant(peer);
@@ -379,7 +379,7 @@ export class Swarm {
379
379
  /**
380
380
  * Creates a connection then sends message over signal network.
381
381
  */
382
- private async _initiateConnection(remotePeer: PeerInfo) {
382
+ private async _initiateConnection(remotePeer: PeerInfo): Promise<void> {
383
383
  const ctx = this._ctx; // Copy to avoid getting reset while sleeping.
384
384
 
385
385
  // It is likely that the other peer will also try to connect to us at the same time.
@@ -408,7 +408,7 @@ export class Swarm {
408
408
  log('initiated', { remotePeer });
409
409
  }
410
410
 
411
- private async _closeConnection(peerInfo: PeerInfo) {
411
+ private async _closeConnection(peerInfo: PeerInfo): Promise<void> {
412
412
  const peer = this._peers.get(peerInfo);
413
413
  if (!peer) {
414
414
  return;
@@ -417,7 +417,7 @@ export class Swarm {
417
417
  await peer.closeConnection();
418
418
  }
419
419
 
420
- private _isConnectionEstablishmentInProgress(peer: Peer) {
420
+ private _isConnectionEstablishmentInProgress(peer: Peer): boolean {
421
421
  if (!peer.connection) {
422
422
  return true;
423
423
  }
@@ -43,7 +43,7 @@ export class TestBuilder {
43
43
 
44
44
  constructor(public readonly options: TestBuilderOptions = {}) {}
45
45
 
46
- createSignalManager() {
46
+ createSignalManager(): WebsocketSignalManager | MemorySignalManager {
47
47
  if (this.options.signalHosts) {
48
48
  return new WebsocketSignalManager(this.options.signalHosts);
49
49
  }
@@ -51,7 +51,7 @@ export class TestBuilder {
51
51
  return new MemorySignalManager(this._signalContext);
52
52
  }
53
53
 
54
- createPeer(peerId: PublicKey = PublicKey.random()) {
54
+ createPeer(peerId: PublicKey = PublicKey.random()): TestPeer {
55
55
  return new TestPeer(this, peerId, this.options.transport);
56
56
  }
57
57
  }
@@ -88,7 +88,7 @@ export class TestPeer {
88
88
  }
89
89
 
90
90
  // TODO(burdon): Move to TestBuilder.
91
- createNetworkManager(transport: TransportKind) {
91
+ createNetworkManager(transport: TransportKind): SwarmNetworkManager {
92
92
  let transportFactory: TransportFactory;
93
93
  if (this.testBuilder.options.signalHosts) {
94
94
  log.info(`using ${transport} transport with signal server.`);
@@ -149,13 +149,13 @@ export class TestPeer {
149
149
  });
150
150
  }
151
151
 
152
- async open() {
152
+ async open(): Promise<void> {
153
153
  await this._networkManager.open();
154
154
  await this._proxy?.open();
155
155
  await this._service?.open();
156
156
  }
157
157
 
158
- async close() {
158
+ async close(): Promise<void> {
159
159
  await Promise.all(Array.from(this._swarms.values()).map((swarm) => swarm.leave()));
160
160
  this._swarms.clear();
161
161
 
@@ -184,11 +184,11 @@ export class TestPeer {
184
184
  return swarm;
185
185
  }
186
186
 
187
- async goOffline() {
187
+ async goOffline(): Promise<void> {
188
188
  await this._networkManager.setConnectionState(ConnectionState.OFFLINE);
189
189
  }
190
190
 
191
- async goOnline() {
191
+ async goOnline(): Promise<void> {
192
192
  await this._networkManager.setConnectionState(ConnectionState.ONLINE);
193
193
  }
194
194
  }
@@ -209,7 +209,7 @@ export class TestSwarmConnection {
209
209
 
210
210
  // TODO(burdon): Need to create new plugin instance per swarm?
211
211
  // If so, then perhaps joinSwarm should return swarm object with access to plugins.
212
- async join(topology = new FullyConnectedTopology()) {
212
+ async join(topology = new FullyConnectedTopology()): Promise<this> {
213
213
  await this.peer._networkManager.joinSwarm({
214
214
  topic: this.topic,
215
215
  peerInfo: { peerKey: this.peer.peerId.toHex(), identityKey: this.peer.peerId.toHex() },
@@ -220,7 +220,7 @@ export class TestSwarmConnection {
220
220
  return this;
221
221
  }
222
222
 
223
- async leave() {
223
+ async leave(): Promise<this> {
224
224
  await this.peer._networkManager.leaveSwarm(this.topic);
225
225
  return this;
226
226
  }
@@ -59,7 +59,7 @@ export class TestWireProtocol {
59
59
  }
60
60
  });
61
61
 
62
- async waitForConnection(peerId: PublicKey) {
62
+ async waitForConnection(peerId: PublicKey): Promise<TestExtension> {
63
63
  if (this.connections.has(peerId)) {
64
64
  return this.connections.get(peerId)!;
65
65
  }
@@ -72,7 +72,7 @@ export class TestWireProtocol {
72
72
  return this.connections.get(peerId)!;
73
73
  }
74
74
 
75
- async testConnection(peerId: PublicKey, message?: string) {
75
+ async testConnection(peerId: PublicKey, message?: string): Promise<void> {
76
76
  const connection = await this.waitForConnection(peerId);
77
77
  await connection.test(message);
78
78
  }
@@ -10,7 +10,7 @@ import { type SwarmController, type Topology } from './topology';
10
10
  export class FullyConnectedTopology implements Topology {
11
11
  private _controller?: SwarmController;
12
12
 
13
- toString() {
13
+ toString(): string {
14
14
  return 'FullyConnectedTopology';
15
15
  }
16
16
 
@@ -61,7 +61,7 @@ export class MMSTTopology implements Topology {
61
61
  }
62
62
  }
63
63
 
64
- forceUpdate() {
64
+ forceUpdate(): void {
65
65
  this._lastAction = new Date(0);
66
66
  this.update();
67
67
  }
@@ -78,7 +78,7 @@ export class MMSTTopology implements Topology {
78
78
  // Nothing to do.
79
79
  }
80
80
 
81
- private _runAlgorithm() {
81
+ private _runAlgorithm(): void {
82
82
  invariant(this._controller, 'Not initialized');
83
83
  const { connected, candidates, ownPeerId } = this._controller.getState();
84
84
 
@@ -125,7 +125,7 @@ export class MMSTTopology implements Topology {
125
125
  }
126
126
  }
127
127
 
128
- toString() {
128
+ toString(): string {
129
129
  return 'MMSTTopology';
130
130
  }
131
131
  }
@@ -13,7 +13,7 @@ export class StarTopology implements Topology {
13
13
 
14
14
  constructor(private readonly _centralPeer: PublicKey) {}
15
15
 
16
- toString() {
16
+ toString(): string {
17
17
  return `StarTopology(${this._centralPeer.truncate()})`;
18
18
  }
19
19
 
@@ -70,7 +70,7 @@ export class MemoryTransport implements Transport {
70
70
  return !this._closed;
71
71
  }
72
72
 
73
- async open() {
73
+ async open(): Promise<this> {
74
74
  log('opening...');
75
75
 
76
76
  // Initiator will send a signal, the receiver will receive the unique ID and connect the streams.
@@ -126,7 +126,7 @@ export class MemoryTransport implements Transport {
126
126
  return this;
127
127
  }
128
128
 
129
- async close() {
129
+ async close(): Promise<this> {
130
130
  log('closing...');
131
131
  this._closed = true;
132
132
 
@@ -159,7 +159,7 @@ export class MemoryTransport implements Transport {
159
159
  return this;
160
160
  }
161
161
 
162
- async onSignal({ payload }: Signal) {
162
+ async onSignal({ payload }: Signal): Promise<void> {
163
163
  log('received signal', { payload });
164
164
  if (!payload?.transportId) {
165
165
  return;
@@ -173,11 +173,16 @@ export class MemoryTransport implements Transport {
173
173
  }
174
174
  }
175
175
 
176
- async getDetails() {
176
+ async getDetails(): Promise<string> {
177
177
  return this._instanceId.toHex();
178
178
  }
179
179
 
180
- async getStats() {
180
+ async getStats(): Promise<{
181
+ bytesSent: number;
182
+ bytesReceived: number;
183
+ packetsSent: number;
184
+ packetsReceived: number;
185
+ }> {
181
186
  return {
182
187
  bytesSent: 0,
183
188
  bytesReceived: 0,
@@ -23,15 +23,15 @@ export class TcpTransport implements Transport {
23
23
  return true;
24
24
  }
25
25
 
26
- async open() {
26
+ async open(): Promise<this> {
27
27
  return this;
28
28
  }
29
29
 
30
- async close() {
30
+ async close(): Promise<this> {
31
31
  return this;
32
32
  }
33
33
 
34
- async onSignal() {
34
+ async onSignal(): Promise<void> {
35
35
  throw new Error('Method not implemented.');
36
36
  }
37
37
 
@@ -35,7 +35,7 @@ export class TcpTransport implements Transport {
35
35
  return this._connected && !this._closed;
36
36
  }
37
37
 
38
- async open() {
38
+ async open(): Promise<this> {
39
39
  log('opening');
40
40
 
41
41
  // Initiator will send a signal, the receiver will receive the unique ID and connect the streams.
@@ -75,7 +75,7 @@ export class TcpTransport implements Transport {
75
75
  return this;
76
76
  }
77
77
 
78
- async close() {
78
+ async close(): Promise<this> {
79
79
  log('closing');
80
80
  this._socket?.destroy();
81
81
  this._server?.close();
@@ -83,7 +83,7 @@ export class TcpTransport implements Transport {
83
83
  return this;
84
84
  }
85
85
 
86
- async onSignal({ payload }: Signal) {
86
+ async onSignal({ payload }: Signal): Promise<void> {
87
87
  log('received signal', { payload });
88
88
  if (this.options.initiator || this._connected) {
89
89
  return;
@@ -113,7 +113,7 @@ export class TcpTransport implements Transport {
113
113
  };
114
114
  }
115
115
 
116
- private _handleSocket(socket: Socket) {
116
+ private _handleSocket(socket: Socket): void {
117
117
  log('handling socket', { remotePort: socket.remotePort, localPort: socket.localPort });
118
118
  this._socket = socket;
119
119
 
@@ -19,10 +19,10 @@ export interface RtcConnectionFactory {
19
19
  * Use built-in browser RTCPeerConnection.
20
20
  */
21
21
  class BrowserRtcConnectionFactory implements RtcConnectionFactory {
22
- async initialize() {}
23
- async onConnectionDestroyed() {}
22
+ async initialize(): Promise<void> {}
23
+ async onConnectionDestroyed(): Promise<void> {}
24
24
 
25
- async createConnection(config: RTCConfiguration) {
25
+ async createConnection(config: RTCConfiguration): Promise<RTCPeerConnection> {
26
26
  return new RTCPeerConnection(config);
27
27
  }
28
28
 
@@ -41,8 +41,8 @@ class NodeRtcConnectionFactory implements RtcConnectionFactory {
41
41
  // eslint-disable-next-line no-new-func
42
42
 
43
43
  // TODO(burdon): Do imports here?
44
- async initialize() {}
45
- async onConnectionDestroyed() {
44
+ async initialize(): Promise<void> {}
45
+ async onConnectionDestroyed(): Promise<void> {
46
46
  return NodeRtcConnectionFactory._cleanupMutex.executeSynchronized(async () => {
47
47
  if (--NodeRtcConnectionFactory._createdConnections === 0) {
48
48
  (await import('#node-datachannel')).cleanup();