pub trait ChunkType: Chunk + Sized {
const TYPE_ID: ChunkTypeId;
const TYPE_NAME: &'static str;
}Expand description
Trait for chunk types with compile-time type information.
This trait extends Chunk with static type metadata, enabling:
- Compile-time type identification via
TYPE_ID - Type-safe serialization/deserialization
- Generic programming over chunk types
§Implementing ChunkType
All implementations must also implement:
ChunktraitTryFrom<Bytes>for deserializationInto<Bytes>for serialization
§Example
ⓘ
use nectar_primitives::{Chunk, ChunkType, ChunkTypeId};
struct MyCustomChunk { /* ... */ }
impl ChunkType for MyCustomChunk {
const TYPE_ID: ChunkTypeId = ChunkTypeId::custom(200);
const TYPE_NAME: &'static str = "my_custom";
}Required Associated Constants§
Sourceconst TYPE_ID: ChunkTypeId
const TYPE_ID: ChunkTypeId
The wire-level type identifier for this chunk type.
This ID is used in chunk headers for serialization and must be unique across all chunk types in a system.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".