Crate push_decode
source ·Expand description
Push-based decoding
This crate provides abstractions for push-based decoding and pull-based encoding. That means, the caller is responsible for obtaining the bytes to decode and feeding them into decoder or pulling bytes from encoder and feeding them into writr.
The main advantage of this approach is that it’s IO-agnostic, which implies both
async-agnostic and no_std. You can use the same code to deserialize from sync
and async readers and only need a tiny piece of code to connect the reader to a decoder. This
piece of code is provided by this crate for std, lgio (usable with no_std), tokio, futures and async-std.
Features
std- enables integration with the standard library - it’s IO and error traitsalloc- enables integration with the standardalloccratelgio- connects decoders to lgio IO.tokio- connects decoders to Tokio IO.async-std- connects decoders to async-std IO.futures_0_3- connects decoders to futures 0.3.x IO
Modules
- future
tokioorasync-stdorfutures_0_3 - Tools for decoding and encoding integers.
Macros
Structs
- Wrapper for external types that are known to be buffered.
- An
Encoderwrapper that handles partial writes.
Enums
- Returned when either reading or decoding fails.
Traits
- BufWrite
stdortokioorasync-stdorfutures_0_3Marker trait for writers that are either buffered or don’t incur the cost of context switch. - Represents types responsible for decoding bytes pushed into it.
- Represents types producing bytes of some encoded value.
Functions
- decode_async_std
async-stdAsynchronously decodes a value from the given reader. - decode_async_std_with
async-stdAsynchronously decodes a value from the given reader using a custom decoder. - decode_futures_0_3
futures_0_3Asynchronously decodes a value from the given reader. - decode_futures_0_3_with
futures_0_3Asynchronously decodes a value from the given reader using a custom decoder. - decode_sync
stdSynchronously decodes a value from the given reader. - decode_sync_lgio
lgioSynchronously decodes a value from the given reader. - Synchronously decodes a value from the given reader using a custom decoder.
- Synchronously decodes a value from the given reader using a custom decoder.
- decode_tokio
tokioAsynchronously decodes a value from the given reader. - decode_tokio_with
tokioAsynchronously decodes a value from the given reader using a custom decoder.