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> Freeze for Config<TMsg>
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