aboutsummaryrefslogtreecommitdiff
path: root/src/message/signalproxy/objects/network.rs
diff options
context:
space:
mode:
authorMax Audron <me@audron.dev>2026-02-21 17:48:06 +0100
committerMax Audron <me@audron.dev>2026-02-21 17:48:06 +0100
commitcc542048e369dda0a773e1e3a4601dc7d20ff16a (patch)
treeee3a23a88c0cb39cf222b871932636a2c912dd92 /src/message/signalproxy/objects/network.rs
parenthandshare and signalproxy/rpccall error handling (diff)
Syncable trait error handling
Diffstat (limited to 'src/message/signalproxy/objects/network.rs')
-rw-r--r--src/message/signalproxy/objects/network.rs20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/message/signalproxy/objects/network.rs b/src/message/signalproxy/objects/network.rs
index 3d2ee8b..d256f67 100644
--- a/src/message/signalproxy/objects/network.rs
+++ b/src/message/signalproxy/objects/network.rs
@@ -192,7 +192,7 @@ impl Syncable for Network {
#[cfg(feature = "client")]
impl crate::message::StatefulSyncableClient for Network {
- fn sync_custom(&mut self, mut msg: crate::message::SyncMessage)
+ fn sync_custom(&mut self, mut msg: crate::message::SyncMessage) -> Result<(), ProtocolError>
where
Self: Sized,
{
@@ -223,9 +223,10 @@ impl crate::message::StatefulSyncableClient for Network {
"setMessageRateDelay" => self.network_info.set_msg_rate_message_delay(get_param!(msg)),
"setMyNick" => self.set_my_nick(get_param!(msg)),
"setNetworkName" => self.network_info.set_network_name(get_param!(msg)),
- "setNetworkInfo" => self.set_network_info(NetworkInfo::from_network_map(
- &mut VariantMap::try_from(msg.params.remove(0)).unwrap(),
- )),
+ "setNetworkInfo" => {
+ let mut map = VariantMap::try_from(msg.params.remove(0))?;
+ self.set_network_info(NetworkInfo::from_network_map(&mut map));
+ }
"setPerform" => self.network_info.set_perform(get_param!(msg)),
"setRejoinChannels" => self.network_info.set_rejoin_channels(get_param!(msg)),
"setSaslAccount" => self.network_info.set_sasl_account(get_param!(msg)),
@@ -254,23 +255,26 @@ impl crate::message::StatefulSyncableClient for Network {
"setUseSasl" => self.network_info.set_use_sasl(get_param!(msg)),
_ => (),
}
+ Ok(())
}
}
#[cfg(feature = "server")]
impl crate::message::StatefulSyncableServer for Network {
- fn sync_custom(&mut self, mut msg: crate::message::SyncMessage)
+ fn sync_custom(&mut self, mut msg: crate::message::SyncMessage) -> Result<(), ProtocolError>
where
Self: Sized,
{
match msg.slot_name.as_str() {
"requestConnect" => self.connect(),
"requestDisconnect" => self.disconnect(),
- "requestSetNetworkInfo" => self.set_network_info(NetworkInfo::from_network_map(
- &mut VariantMap::try_from(msg.params.remove(0)).unwrap(),
- )),
+ "requestSetNetworkInfo" => {
+ let mut map = VariantMap::try_from(msg.params.remove(0))?;
+ self.set_network_info(NetworkInfo::from_network_map(&mut map));
+ }
_ => (),
}
+ Ok(())
}
}