diff options
| author | Max Audron <me@audron.dev> | 2026-02-22 18:00:41 +0100 |
|---|---|---|
| committer | Max Audron <me@audron.dev> | 2026-02-22 18:00:41 +0100 |
| commit | cae6008c036a4fe690ef1b87d0c953fd05d9d4a6 (patch) | |
| tree | a201ef89c87d2e8774b21a515031b0330f23f3ba /src/message/signalproxy/translation.rs | |
| parent | improve network from_network_list impl (diff) | |
we do not need to reference stuff here and can just consume it
Diffstat (limited to '')
| -rw-r--r-- | src/message/signalproxy/translation.rs | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/message/signalproxy/translation.rs b/src/message/signalproxy/translation.rs index 40ebac1..b765133 100644 --- a/src/message/signalproxy/translation.rs +++ b/src/message/signalproxy/translation.rs @@ -122,7 +122,37 @@ where pub trait NetworkList { fn to_network_list(&self) -> Result<VariantList>; - fn from_network_list(input: &mut VariantList) -> Result<Self> + fn from_network_list(input: VariantList) -> Result<Self> where Self: std::marker::Sized; } + +// impl<T: NetworkMap<Item = VariantMap>> NetworkList for T { +// fn from_network_list(input: VariantList) -> Result<Self> +// where +// Self: std::marker::Sized + NetworkMap<Item = VariantMap>, +// { +// let mut i = input.into_iter(); +// let mut map: VariantMap = VariantMap::new(); +// +// while let Some(key) = i.next() { +// let key: String = key.try_into()?; +// let value = i.next().ok_or(ProtocolError::MissingField(key.clone()))?; +// map.insert(key, value); +// } +// +// Self::from_network_map(&mut map) +// } +// +// fn to_network_list(&self) -> Result<VariantList> { +// let map = Self::to_network_map(self)?; +// +// let mut list = VariantList::new(); +// for (k, v) in map { +// list.push(Variant::ByteArray(k)); +// list.push(v); +// } +// +// Ok(list) +// } +// } |
