pub struct Context { /* private fields */ }
Expand description
The encoding context to use with the serialization and deserialization API.
The encoding is dependent on the position of the encoding in the entire message and hence the
need to specify the byte position of the data being serialized or deserialized. Simply pass
0
if serializing or deserializing to or from the beginning of message, or the preceding bytes
end on an 8-byte boundary.
§Examples
use zvariant::Endian;
use zvariant::serialized::Context;
use zvariant::to_bytes;
let str_vec = vec!["Hello", "World"];
let ctxt = Context::new_dbus(Endian::Little, 0);
let encoded = to_bytes(ctxt, &str_vec).unwrap();
// Let's decode the 2nd element of the array only
let slice = encoded.slice(14..);
let decoded: &str = slice.deserialize().unwrap().0;
assert_eq!(decoded, "World");
Implementations§
Trait Implementations§
impl Copy for Context
impl Eq for Context
impl StructuralPartialEq for Context
Auto Trait Implementations§
impl Freeze for Context
impl RefUnwindSafe for Context
impl Send for Context
impl Sync for Context
impl Unpin for Context
impl UnwindSafe for Context
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