@livestore/webmesh 0.4.0-dev.22 → 0.4.0-dev.23

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 (37) hide show
  1. package/README.md +5 -3
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/channel/direct-channel-internal.d.ts.map +1 -1
  4. package/dist/channel/direct-channel-internal.js +15 -23
  5. package/dist/channel/direct-channel-internal.js.map +1 -1
  6. package/dist/channel/direct-channel.js +4 -4
  7. package/dist/channel/direct-channel.js.map +1 -1
  8. package/dist/channel/proxy-channel.d.ts +26 -1
  9. package/dist/channel/proxy-channel.d.ts.map +1 -1
  10. package/dist/channel/proxy-channel.js +64 -18
  11. package/dist/channel/proxy-channel.js.map +1 -1
  12. package/dist/common.d.ts.map +1 -1
  13. package/dist/common.js +5 -6
  14. package/dist/common.js.map +1 -1
  15. package/dist/node.d.ts +6 -0
  16. package/dist/node.d.ts.map +1 -1
  17. package/dist/node.js +25 -23
  18. package/dist/node.js.map +1 -1
  19. package/dist/node.test.js +192 -5
  20. package/dist/node.test.js.map +1 -1
  21. package/dist/websocket-edge.d.ts +1 -1
  22. package/dist/websocket-edge.d.ts.map +1 -1
  23. package/dist/websocket-edge.js +5 -7
  24. package/dist/websocket-edge.js.map +1 -1
  25. package/dist/websocket-edge.test.d.ts +7 -0
  26. package/dist/websocket-edge.test.d.ts.map +1 -0
  27. package/dist/websocket-edge.test.js +74 -0
  28. package/dist/websocket-edge.test.js.map +1 -0
  29. package/package.json +65 -12
  30. package/src/channel/direct-channel-internal.ts +17 -40
  31. package/src/channel/direct-channel.ts +4 -4
  32. package/src/channel/proxy-channel.ts +85 -25
  33. package/src/common.ts +5 -6
  34. package/src/node.test.ts +270 -7
  35. package/src/node.ts +31 -23
  36. package/src/websocket-edge.test.ts +98 -0
  37. package/src/websocket-edge.ts +7 -9
package/README.md CHANGED
@@ -3,11 +3,13 @@
3
3
  Webmesh is a library for connecting multiple nodes (windows/tabs, workers, threads, ...) in a network-like topology. It helps to establish communication channels between nodes.
4
4
 
5
5
  There are three types of channels:
6
+
6
7
  - ProxyChannel: a virtual channel by proxying messages along edges (via hop nodes)
7
- - DirectChannel: an end-to-end channel with support for transferable objects (e.g. `Uint8Array`)
8
+ - DirectChannel: an end-to-end channel with support for transferable objects (e.g. `Uint8Array`)
8
9
  - BroadcastChannel: a virtual channel by broadcasting messages to all connected nodes
9
10
 
10
11
  ProxyChannels and DirectChannels have the following properties (similar to TCP):
12
+
11
13
  - Has a unique name across the network
12
14
  - Auto-reconnects
13
15
  - Ordered messages
@@ -90,6 +92,6 @@ const codeOnNodeC = Effect.gen(function* () {
90
92
 
91
93
  - Elixir `Distribution` / OTP
92
94
  - https://elixirschool.com/en/lessons/advanced/otp_distribution
93
- - https://serokell.io/blog/elixir-otp-guide
95
+ - https://serokell.io/blog/elixir-otp-guide
94
96
  - Consul by HashiCorp
95
- - Ethernet
97
+ - Ethernet