rsiot/components_config/websocket_server/
config.rsuse crate::{message::Message, serde_utils::SerdeAlgKind};
use super::WebsocketMessage;
#[derive(Clone, Debug)]
pub struct Config<TMsg, TServerToClient, TClientToServer>
where
TServerToClient: WebsocketMessage,
TClientToServer: WebsocketMessage,
{
pub serde_alg: SerdeAlgKind,
pub port: u16,
pub fn_server_to_client: FnInput<TMsg, TServerToClient>,
pub fn_client_to_server: FnOutput<TMsg, TClientToServer>,
}
pub type FnInput<TMsg, TServerToClient> = fn(&Message<TMsg>) -> Option<TServerToClient>;
pub type FnOutput<TMsg, TClientToServer> = fn(TClientToServer) -> Vec<Message<TMsg>>;