pub fn write_u8<W: RmpWrite>(
wr: &mut W,
val: u8,
) -> Result<(), ValueWriteError<W::Error>>
Expand description
Encodes and attempts to write an u8
value as a 2-byte sequence into the given write.
The first byte becomes the marker and the second one will represent the data itself.
Note, that this function will encode the given value in 2-byte sequence no matter what, even if the value can be represented using single byte as a positive fixnum.
If you need to fit the given buffer efficiently use write_uint
instead, which automatically
selects the appropriate integer representation.
§Errors
This function will return ValueWriteError
on any I/O error occurred while writing either the
marker or the data.
§Examples
let mut buf = [0x00, 0x00];
rmp::encode::write_u8(&mut &mut buf[..], 146).ok().unwrap();
assert_eq!([0xcc, 0x92], buf);
// Note, that 42 can be represented simply as `[0x2a]`, but the function emits 2-byte sequence.
rmp::encode::write_u8(&mut &mut buf[..], 42).ok().unwrap();
assert_eq!([0xcc, 0x2a], buf);