aboutsummaryrefslogtreecommitdiff
path: root/src/message/signalproxy/mod.rs
diff options
context:
space:
mode:
authorMax Audron <audron@cocaine.farm>2021-09-28 18:13:43 +0200
committerMax Audron <audron@cocaine.farm>2021-09-28 18:16:20 +0200
commit2831748466d7aca099502a265eced5d1d88c871a (patch)
treee2ab7581cae8df2b1c041dcf81cbe22daf00e558 /src/message/signalproxy/mod.rs
parentadd handle_syncmessage to aliasmanager (diff)
adapt Sync* types
Diffstat (limited to 'src/message/signalproxy/mod.rs')
-rw-r--r--src/message/signalproxy/mod.rs20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/message/signalproxy/mod.rs b/src/message/signalproxy/mod.rs
index 23694c8..41057ca 100644
--- a/src/message/signalproxy/mod.rs
+++ b/src/message/signalproxy/mod.rs
@@ -26,7 +26,7 @@ pub use rpccall::*;
pub use syncmessage::*;
/// SyncProxy sends sync and rpc messages
-pub trait SyncProxy: Session {
+pub trait SyncProxy {
fn sync(
&self,
class_name: &str,
@@ -63,34 +63,34 @@ pub trait Syncable {
/// A Stateful Syncable Object
#[allow(unused_variables)]
-pub trait StatefulSyncable: Syncable {
+pub trait StatefulSyncable: Syncable + translation::NetworkMap {
/// Client -> Server: Update the whole object with received data
- fn update(&mut self, session: impl SyncProxy, params: VariantMap)
+ fn update(&mut self, session: impl SyncProxy, param: VariantMap)
where
- Self: Sized + From<VariantMap>,
+ Self: Sized,
{
#[cfg(feature = "client")]
{
- self.sync(session, "update", vec![params.into()]);
+ self.sync(session, "update", vec![self.to_network_map().into()]);
}
#[cfg(feature = "server")]
{
- *self = params.try_into().unwrap();
+ *self = Self::from_network_map(&mut param);
}
}
/// Server -> Client: Update the whole object with received data
- fn request_update(&mut self, session: impl SyncProxy, params: VariantMap)
+ fn request_update(&mut self, session: impl SyncProxy, mut param: VariantMap)
where
- Self: Sized + From<VariantMap>,
+ Self: Sized,
{
#[cfg(feature = "client")]
{
- *self = params.try_into().unwrap();
+ *self = Self::from_network_map(&mut param);
}
#[cfg(feature = "server")]
{
- self.sync(session, "requestUpdate", vec![params.into()]);
+ self.sync(session, "requestUpdate", vec![self.to_network_map().into()]);
}
}
}