yew_agent/worker/messages.rs
1use serde::{Deserialize, Serialize};
2
3use super::handler_id::HandlerId;
4use super::traits::Worker;
5
6/// Serializable messages to worker
7#[derive(Serialize, Deserialize, Debug)]
8pub(crate) enum ToWorker<W>
9where
10 W: Worker,
11{
12 /// Client is connected
13 Connected(HandlerId),
14 /// Incoming message to Worker
15 ProcessInput(HandlerId, W::Input),
16 /// Client is disconnected
17 Disconnected(HandlerId),
18 /// Worker should be terminated
19 Destroy,
20}
21
22/// Serializable messages sent by worker to consumer
23#[derive(Serialize, Deserialize, Debug)]
24pub(crate) enum FromWorker<W>
25where
26 W: Worker,
27{
28 /// Worker sends this message when `wasm` bundle has loaded.
29 WorkerLoaded,
30 /// Outgoing message to consumer
31 ProcessOutput(HandlerId, W::Output),
32}