Open TiemenSch opened 9 months ago
this. literally have no idea how to use the agents. there is no decent documentation for them anywhere and it makes developing anything that requires that kind of functionality almost impossible.
While not exactly documentation, I wrote the ratio-reactor
crate as an easy to use webworker abstraction. Perhaps the crate and especially the examples are worth taking a look at. https://gitlab.com/ratio-case-os/rust/ratio-reactor
This is about:
Problem https://github.com/yewstack/yew/blob/master/website/versioned_docs/version-0.21/concepts/agents.mdx
The agents page states that agent communication happens over the
bincode
codec while it merely is a default. However, just like withgloo-worker
itself, the Codec is already perfectly changeable.Especially since
bincode
does not support "complicated" data in the sense thatdeserialize_any
is unsupported (https://github.com/bincode-org/bincode/issues/386). This might prevent users from adopting a WebWorker or send them in a deserialization rabbit-hole as their data fails to be passed over the fence with bincode.Also, is the public/private agent still a thing?
Details about the solution you'd like
I think the most pragmatic solution would be to change the docs to state that bincode is merely the default and point to the Fibonacci example that already uses postcard instead of bincode.
yew-agent
's docs itself could also point a bit better to what components dictate the codec (Registrar and Provider).Additional context
https://github.com/yewstack/yew/blob/f6b23f08284dec949efaf860fbe8e9198e3d0bed/examples/web_worker_fib/src/agent.rs#L10
Questionaire (Optional)