2022-11-03 16:17:31 +00:00
|
|
|
pub mod constants;
|
|
|
|
pub mod reader;
|
2022-11-18 14:21:33 +00:00
|
|
|
pub mod view;
|
2022-11-03 16:17:31 +00:00
|
|
|
pub mod writer;
|
|
|
|
|
|
|
|
pub use reader::PackedReader;
|
|
|
|
pub use writer::PackedWriter;
|
|
|
|
|
|
|
|
use std::io;
|
|
|
|
|
2022-11-03 20:12:15 +00:00
|
|
|
use crate::BinarySource;
|
|
|
|
use crate::BytesBinarySource;
|
|
|
|
use crate::Domain;
|
|
|
|
use crate::DomainDecode;
|
2022-11-19 16:23:56 +00:00
|
|
|
use crate::Shell;
|
2022-11-18 14:21:33 +00:00
|
|
|
use crate::ShellHandle;
|
2022-11-19 16:23:56 +00:00
|
|
|
use crate::ValueReader;
|
2022-11-03 16:17:31 +00:00
|
|
|
|
2022-11-20 20:54:09 +00:00
|
|
|
pub fn from_bytes<'de, D: Domain<'de>, Dec: DomainDecode<'de, D>>(
|
2022-11-03 16:17:31 +00:00
|
|
|
bs: &'de [u8],
|
|
|
|
decode_embedded: &mut Dec,
|
2022-11-18 14:21:33 +00:00
|
|
|
) -> io::Result<ShellHandle<'de, D>> {
|
2022-11-20 20:54:09 +00:00
|
|
|
Ok(Shell::read_domain(&mut BytesBinarySource::new(bs).packed(), false, decode_embedded)?)
|
2022-11-03 16:17:31 +00:00
|
|
|
}
|
|
|
|
|
2022-11-20 20:54:09 +00:00
|
|
|
pub fn annotated_from_bytes<'de, D: Domain<'de>, Dec: DomainDecode<'de, D>>(
|
2022-11-03 16:17:31 +00:00
|
|
|
bs: &'de [u8],
|
|
|
|
decode_embedded: &mut Dec,
|
2022-11-18 14:21:33 +00:00
|
|
|
) -> io::Result<ShellHandle<'de, D>> {
|
2022-11-20 20:54:09 +00:00
|
|
|
Ok(Shell::read_domain(&mut BytesBinarySource::new(bs).packed(), true, decode_embedded)?)
|
2022-11-03 16:17:31 +00:00
|
|
|
}
|