rsiot/components/cmp_websocket_server/
mod.rs

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