Skip to main content

Crate revision

Crate revision 

Source
Expand description

Defines a generic trait for version tolerant serialization and deserialization and implements it for primitive data types using the bincode format.

The Revisioned trait is automatically implemented for the following primitives: u8, u16, u32, u64, u128, usize, i8, i16, i32, i64, i128, isize, f32, f64, char, str, String, Vec, Arrays up to 32 elements, Option, Box, Bound, Range, Wrapping, (A, B), (A, B, C), (A, B, C, D), (A, B, C, D, E), Duration, SystemTime, HashMap<K, V>, BTreeMap<K, V>, Result<T, E>, Cow<’_, T>, Decimal, regex::Regex, uuid::Uuid, chrono::Duration, chrono::DateTime, geo::Point, geo::LineString geo::Polygon, geo::MultiPoint, geo::MultiLineString, and geo::MultiPolygon.

Re-exports§

pub use crate::error::Error;
pub use slice_reader::BorrowedReader;
pub use slice_reader::SliceReader;
pub use slice_reader::advance_read;
pub use walk::EnumWalker;
pub use walk::LeafWalker;
pub use walk::LengthPrefixedBytes;
pub use walk::MapEntry;
pub use walk::MapWalker;
pub use walk::OptionWalker;
pub use walk::ResultWalker;
pub use walk::SeqItem;
pub use walk::SeqWalker;
pub use walk::StructWalker;
pub use walk::WalkRevisioned;
pub use walk::read_enum_discriminant;

Modules§

error
implementations
prelude
slice_reader
Helpers for advancing through revisioned bytes without building values.
walk
Structured, selective decoding of revisioned encodings.

Traits§

DeserializeRevisioned
Revisioned
Trait that provides an interface for version aware serialization and deserialization.
SerializeRevisioned
SkipCheckRevisioned
SkipRevisioned

Functions§

from_reader
Deserialize a revisioned type from a reader
from_slice
Deserialize a revisioned type from a slice of bytes
skip_check_reader
Alias for skip_check_revisioned.
skip_check_revisioned
skip_check_slice
skip_reader
Alias for skip_revisioned.
skip_revisioned
skip_slice
to_vec
Serialize a revisioned type into a vec of bytes
to_writer
Serialize a revisioned type into a vec of bytes

Attribute Macros§

revisioned
Generates serialization and deserialization code as an implementation of the Revisioned trait for structs and enums.