pub struct Config<TMsg> {
pub port: u16,
pub fn_input: fn(_: &Message<TMsg>) -> Result<Option<String>, Error>,
pub fn_output: fn(_: &str) -> Result<Option<Vec<Message<TMsg>>>, Error>,
}Expand description
Конфигурация Websocket-сервера
Fields§
§port: u16Порт, через который доступен сервер
fn_input: fn(_: &Message<TMsg>) -> Result<Option<String>, Error>Функция преобразования входящих сообщений в текст для отправки клиенту
§Примеры
§Заглушка
fn_input: |_| Ok(None),§Сериализация в json
fn_input: |msg: &Message<Custom>| {
let text = msg.serialize()?;
Ok(Some(text))
}fn_output: fn(_: &str) -> Result<Option<Vec<Message<TMsg>>>, Error>Функция преобразования текста, полученного от клиента, в исходящий поток сообщений
§Примеры
§Заглушка
fn_output: |_| Ok(None)§Десериализация из json:
fn_output: |text: &str| {
let msg = Message::<Custom>::deserialize(text)?;
Ok::<Option<Vec<Message<Custom>>>, anyhow::Error>(Some(vec![msg]))
}Trait Implementations§
Auto Trait Implementations§
impl<TMsg> RefUnwindSafe for Config<TMsg>
impl<TMsg> Send for Config<TMsg>
impl<TMsg> Sync for Config<TMsg>
impl<TMsg> Unpin for Config<TMsg>
impl<TMsg> UnwindSafe for Config<TMsg>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more