rsiot/components_config/websocket_server/
config.rs1use crate::serde_utils::SerdeAlgKind;
2
3use super::{WebsocketMessage, WsData};
4
5#[derive(Clone, Debug)]
8pub struct Config<TMsg, TServerToClient, TClientToServer>
9where
10 TServerToClient: WebsocketMessage,
11 TClientToServer: WebsocketMessage,
12{
13 pub serde_alg: SerdeAlgKind,
15
16 pub port: u16,
18
19 pub fn_server_to_client: FnInput<TMsg, TServerToClient>,
21
22 pub fn_client_to_server: FnOutput<TMsg, TClientToServer>,
24}
25pub type FnInput<TMsg, TServerToClient> = fn(&TMsg) -> Option<WsData<TServerToClient>>;
29
30pub type FnOutput<TMsg, TClientToServer> = fn(WsData<TClientToServer>) -> Vec<TMsg>;