Struct zvariant::serialized::Context
source · 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§
source§impl Context
impl Context
sourcepub fn new(format: Format, endian: Endian, position: usize) -> Self
pub fn new(format: Format, endian: Endian, position: usize) -> Self
Create a new encoding context.
sourcepub fn new_dbus(endian: Endian, position: usize) -> Self
pub fn new_dbus(endian: Endian, position: usize) -> Self
Convenient wrapper for new
to create a context for D-Bus format.
sourcepub fn new_gvariant(endian: Endian, position: usize) -> Self
pub fn new_gvariant(endian: Endian, position: usize) -> Self
Convenient wrapper for new
to create a context for GVariant format.
Trait Implementations§
source§impl PartialEq for Context
impl PartialEq for Context
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