#[repr(C, packed(1))]pub struct MessageHeader {
pub block_length: u16,
pub template_id: u16,
pub schema_id: u16,
pub version: u16,
}Expand description
Standard SBE message header (8 bytes).
The message header precedes every SBE message and contains:
- Block length: Size of the root block in bytes
- Template ID: Message type identifier
- Schema ID: Schema identifier
- Version: Schema version number
§Wire Format
+0: blockLength (u16, 2 bytes)
+2: templateId (u16, 2 bytes)
+4: schemaId (u16, 2 bytes)
+6: version (u16, 2 bytes)Fields§
§block_length: u16Length of the root block in bytes.
template_id: u16Message template identifier.
schema_id: u16Schema identifier.
version: u16Schema version number.
Implementations§
Source§impl MessageHeader
impl MessageHeader
Sourcepub const ENCODED_LENGTH: usize = 8
pub const ENCODED_LENGTH: usize = 8
Encoded length of the message header in bytes.
Sourcepub const fn new(
block_length: u16,
template_id: u16,
schema_id: u16,
version: u16,
) -> MessageHeader
pub const fn new( block_length: u16, template_id: u16, schema_id: u16, version: u16, ) -> MessageHeader
Creates a new message header with the specified values.
§Arguments
block_length- Length of the root block in bytestemplate_id- Message template identifierschema_id- Schema identifierversion- Schema version number
Sourcepub fn wrap<B>(buffer: &B, offset: usize) -> MessageHeaderwhere
B: ReadBuffer + ?Sized,
pub fn wrap<B>(buffer: &B, offset: usize) -> MessageHeaderwhere
B: ReadBuffer + ?Sized,
Sourcepub fn encode<B>(&self, buffer: &mut B, offset: usize)where
B: WriteBuffer + ?Sized,
pub fn encode<B>(&self, buffer: &mut B, offset: usize)where
B: WriteBuffer + ?Sized,
Encodes the message header to the buffer at the given offset.
§Arguments
buffer- Buffer to write tooffset- Byte offset to start writing
Sourcepub const fn message_size(&self) -> usize
pub const fn message_size(&self) -> usize
Returns the total message size (header + block).
Trait Implementations§
Source§impl Clone for MessageHeader
impl Clone for MessageHeader
Source§fn clone(&self) -> MessageHeader
fn clone(&self) -> MessageHeader
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MessageHeader
impl Debug for MessageHeader
Source§impl Default for MessageHeader
impl Default for MessageHeader
Source§fn default() -> MessageHeader
fn default() -> MessageHeader
Returns the “default value” for a type. Read more
Source§impl PartialEq for MessageHeader
impl PartialEq for MessageHeader
impl Copy for MessageHeader
impl Eq for MessageHeader
impl StructuralPartialEq for MessageHeader
Auto Trait Implementations§
impl Freeze for MessageHeader
impl RefUnwindSafe for MessageHeader
impl Send for MessageHeader
impl Sync for MessageHeader
impl Unpin for MessageHeader
impl UnwindSafe for MessageHeader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.