pub struct Config<TMsg>where
TMsg: IMessage,{
pub url: Url,
pub fn_input: fn(_: &TMsg) -> Result<Option<String>, Error>,
pub fn_output: fn(_: &str) -> Result<Vec<TMsg>, Error>,
}
Expand description
Настройки Websocket-клиента
Fields§
§url: Url
Адрес Websocket-сервера
fn_input: fn(_: &TMsg) -> Result<Option<String>, Error>
Преобразование входящих сообщений в текст для отправки на сервер
§Примеры
§Пустой коллбек
|_: &TMsg| Ok(None)
§Преобразование в json
|msg: &TMsg| {
let text = msg.to_json()?;
Ok(Some(text))
}
fn_output: fn(_: &str) -> Result<Vec<TMsg>, Error>
Преобразование полученного от сервера текста в исходящие сообщения
§Примеры
§Заглушка
|_: &str| Ok(vec![])
§Десериализация из json:
|text: &str| {
let msg = Message::from_json(text)?;
Ok(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