#[derive(Debug)]
#[repr(C)]
struct MessageHeader
{
compressed_type_identifier: CompressedTypeIdentifier,
number_of_bytes_padding_to_align_message_contents: u8,
total_message_size_including_message_header_padding_to_align_before_message_contents_and_padding_to_align_after: u16,
}
impl MessageHeader
{
#[inline(always)]
fn message_contents(&mut self) -> &mut VariablySized
{
unsafe { &mut * (self.message_contents_pointer() as *mut VariablySized) }
}
#[inline(always)]
fn total_message_size_including_message_header_padding_to_align_before_message_contents_and_padding_to_align_after(&self) -> usize
{
self.total_message_size_including_message_header_padding_to_align_before_message_contents_and_padding_to_align_after as usize
}
#[inline(always)]
fn message_contents_pointer(&self) -> usize
{
self.base_pointer() + self.number_of_bytes_padding_to_align_message_contents()
}
#[inline(always)]
fn base_pointer(&self) -> usize
{
self as *const Self as usize
}
#[inline(always)]
fn number_of_bytes_padding_to_align_message_contents(&self) -> usize
{
self.number_of_bytes_padding_to_align_message_contents as usize
}
}