Crate numbat_codec

Source

Modules§

test_util

Macros§

dep_encode_from_no_err
dep_encode_num_mimic
top_encode_from_no_err

Structs§

DecodeError
EncodeError
OwnedBytesNestedDecodeInput
A nested decode buffer that owns its data.
Vec
Reexport needed by derive. A contiguous growable array type, written as Vec<T>, short for ‘vector’.

Traits§

DecodeDefault
EncodeDefault
NestedDecode
Trait that allows zero-copy read of value-references from slices in LE format.
NestedDecodeInput
Trait that allows deserializing objects from a buffer.
NestedEncode
Trait that allows zero-copy write of value-references to slices in LE format.
NestedEncodeNoErr
Most types will be encoded without any possibility of error. The trait is used to provide these implementations. This is currently not a substitute for implementing a proper TopEncode.
NestedEncodeOutput
Trait that allows appending bytes. Used especially by the NestedEncode trait to output data.
TopDecode
Trait that allows zero-copy read of values from an underlying API in big endian format.
TopDecodeInput
Trait that abstracts away an underlying API for a top-level object deserializer. The underlying API can provide pre-parsed i64/u64 or pre-bundled boxed slices.
TopEncode
TopEncodeOutput
Specifies objects that can receive the result of a TopEncode computation. in principle from NestedEncode performed on nested items.
TryStaticCast
Use to transfer objects from one generic type to another, without the compiler being able to determine whether or not the two types are the same. The cast is statically dispatched.

Functions§

boxed_slice_into_vec
bytes_to_number
Handles both signed and unsigned of any length. No generics here, because we want the executable binary as small as possible.
dep_decode_from_byte_slice
Convenience method, to avoid having to specify type when calling dep_decode. Especially useful in the macros. Also checks that the entire slice was used. The input doesn’t need to be mutable because we are not changing the underlying data.
dep_decode_from_byte_slice_or_exit
dep_encode_to_vec
Convenience function for getting an object nested-encoded to a Vec directly.
top_decode_from_nested
Top-decodes the result using the NestedDecode implementation.
top_decode_from_nested_or_exit
Top-decodes the result using the NestedDecode implementation. Uses the fast-exit mechanism in case of error.
top_encode_from_nested
top_encode_from_nested_or_exit
top_encode_no_err
Quick encoding of a type that never fails on encoding.
top_encode_number_to_output
top_encode_to_vec
try_cast_execute_or_else
try_cast_ref
try_execute_then_cast
using_encoded_number
Adds number to output buffer. No argument generics here, because we want the executable binary as small as possible. Smaller types need to be converted to u64 before using this function. TODO: there might be a quicker version of this using transmute + reverse bytes.
vec_into_boxed_slice