Skip to main content

register_value_bytes_codec

Macro register_value_bytes_codec 

Source
macro_rules! register_value_bytes_codec {
    (id = $id:expr, codec = $codec:ty, value = $value:ty $(,)?) => { ... };
}
Expand description

Registers a default-constructible bidirectional bytes codec.

The macro must be invoked at module scope; it defines the descriptor, a registration function, and an inventory submission in an anonymous const. The id must be a constant expression. Use a literal, constant, or const fn result; a runtime function call cannot define a static ID. The encoder and decoder error types must implement Error + Send + Sync + 'static, as required by ValueBytesCodecDescriptor::of.

§Examples

ⓘ
use qubit_codec::JsonBytesValueCodec;
use qubit_codec::register_value_bytes_codec;
register_value_bytes_codec!(id = "invalid-id", codec = JsonBytesValueCodec<u32>, value = u32);
use qubit_codec::JsonBytesValueCodec;
use qubit_codec::register_value_bytes_codec;

register_value_bytes_codec!(
    id = "example.u32",
    codec = JsonBytesValueCodec<u32>,
    value = u32,
);