diff options
| author | Max Audron <audron@cocaine.farm> | 2025-02-26 19:15:11 +0100 |
|---|---|---|
| committer | Max Audron <audron@cocaine.farm> | 2025-02-26 19:20:33 +0100 |
| commit | 58eb9e51595838aa28e24db69ff01a5509852357 (patch) | |
| tree | 48f0c018d14264c34287a5f3c9e4649d20cb50de /src/primitive/variant.rs | |
| parent | refactor variant deserialization (diff) | |
implement IdentityId
Diffstat (limited to 'src/primitive/variant.rs')
| -rw-r--r-- | src/primitive/variant.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/primitive/variant.rs b/src/primitive/variant.rs index 41d20d2..e8eea86 100644 --- a/src/primitive/variant.rs +++ b/src/primitive/variant.rs @@ -4,8 +4,8 @@ use itertools::Itertools; use log::{error, trace}; use crate::error::ProtocolError; -use crate::primitive::StringList; use crate::primitive::{self, PeerPtr}; +use crate::primitive::{IdentityId, StringList}; use crate::serialize::*; use crate::primitive::{BufferId, BufferInfo, Date, DateTime, Message, MsgId, Time, VariantList, VariantMap}; @@ -28,6 +28,7 @@ pub enum Variant { UserType(String, Vec<u8>), BufferId(BufferId), BufferInfo(BufferInfo), + IdentityId(IdentityId), Message(Message), MsgId(MsgId), Time(Time), @@ -190,6 +191,7 @@ impl Serialize for Variant { } Variant::BufferId(v) => v.serialize_variant(), Variant::BufferInfo(v) => v.serialize_variant(), + Variant::IdentityId(v) => v.serialize_variant(), Variant::Message(v) => v.serialize_variant(), Variant::MsgId(v) => v.serialize_variant(), Variant::PeerPtr(v) => v.serialize_variant(), @@ -250,12 +252,13 @@ impl Deserialize for Variant { return Ok((len + user_type_len + vlen, Variant::VariantMap(value))); } // As i32 - "IdentityId" | "NetworkId" => { + "NetworkId" => { trace!(target: "primitive::Variant", "UserType is i32"); let (vlen, value) = i32::parse(&b[(len + user_type_len)..])?; return Ok((len + user_type_len + vlen, Variant::i32(value))); } + IdentityId::NAME => IdentityId::parse_variant(b, len + user_type_len), PeerPtr::NAME => PeerPtr::parse_variant(b, len + user_type_len), BufferInfo::NAME => BufferInfo::parse_variant(b, len + user_type_len), Message::NAME => Message::parse_variant(b, len + user_type_len), |
