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