rsiot/components/cmp_websocket_server/mod.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
//! Компонент для подключения через websocket server.
//!
//! Перенаправляет поток входящих сообщений подключенным вебсокет-клиентам.
//!
//! При подключении клиенту отправляются все актуальные сообщения из кеша, далее только новые.
//! Используется библиотека [tokio-tungstenite](https://crates.io/crates/tokio-tungstenite).
//!
//! # Пример
//!
//! ## Файл `shared::ws_client_server/client_to_server.rs`
//! ```
#![doc = include_str!("doc/client_to_server.rs")]
//!```
//!
//! ## Файл `shared::ws_client_server/server_to_client.rs`
//! ```
#![doc = include_str!("doc/server_to_client.rs")]
//!```
//!
//! ## Файл `cmp_websocket_server/mod.rs`
//! ```
#![doc = include_str!("doc/new.rs")]
//! ```
mod component;
mod config;
mod errors;
mod fn_process;
// mod handle_ws_connection;
#[cfg(feature = "rustdoc")]
mod doc;
mod tasks;
pub use component::Cmp;
pub use config::Config;
pub use errors::Error;
type Result<T> = std::result::Result<T, errors::Error>;
type ServerToClientCache<TServerToClient> =
std::sync::Arc<tokio::sync::Mutex<std::collections::HashMap<String, TServerToClient>>>;