pub struct ThreadRecordHeader(/* private fields */);Expand description
Header word for an FXT Thread record (RecordType = 3).
Implementations§
Source§impl ThreadRecordHeader
impl ThreadRecordHeader
Sourcepub const RSVD1_MASK: u64
pub const RSVD1_MASK: u64
Mask of all reserved-as-1 bits.
Sourcepub const RSVD0_MASK: u64
pub const RSVD0_MASK: u64
Mask of all reserved-as-0 bits.
Sourcepub const DEFAULT: u64
pub const DEFAULT: u64
The default value of the layout, combining all field defaults and reserved-as values.
Sourcepub const THREAD_INDEX_MASK: u64
pub const THREAD_INDEX_MASK: u64
Unshifted bitmask of thread_index.
Sourcepub const THREAD_INDEX_SHIFT: usize = 16
pub const THREAD_INDEX_SHIFT: usize = 16
Bit shift (i.e., the low bit) of thread_index.
Sourcepub const RECORD_SIZE_MASK: u64
pub const RECORD_SIZE_MASK: u64
Unshifted bitmask of record_size.
Sourcepub const RECORD_SIZE_SHIFT: usize = 4
pub const RECORD_SIZE_SHIFT: usize = 4
Bit shift (i.e., the low bit) of record_size.
Sourcepub const RECORD_TYPE_MASK: u64
pub const RECORD_TYPE_MASK: u64
Unshifted bitmask of record_type.
Sourcepub const RECORD_TYPE_SHIFT: usize = 0
pub const RECORD_TYPE_SHIFT: usize = 0
Bit shift (i.e., the low bit) of record_type.
Sourcepub const RECORD_TYPE_DEFAULT: u64
pub const RECORD_TYPE_DEFAULT: u64
Pre-shifted default value of the record_type field.
Sourcepub const fn new() -> ThreadRecordHeader
pub const fn new() -> ThreadRecordHeader
Creates a new instance with reserved-as-1 bits set and
all other bits zeroed (i.e., with a value of
Self::RSVD1_MASK).
pub const fn bits(self) -> u64
Sourcepub const fn thread_index(&self) -> u8
pub const fn thread_index(&self) -> u8
The value of ThreadRecordHeader[23:16].
Sourcepub const fn set_thread_index(&mut self, value: u8) -> &mut ThreadRecordHeader
pub const fn set_thread_index(&mut self, value: u8) -> &mut ThreadRecordHeader
Sets the value of ThreadRecordHeader[23:16].
Sourcepub const fn record_size(&self) -> u16
pub const fn record_size(&self) -> u16
The value of ThreadRecordHeader[15:4].
Sourcepub const fn set_record_size(&mut self, value: u16) -> &mut ThreadRecordHeader
pub const fn set_record_size(&mut self, value: u16) -> &mut ThreadRecordHeader
Sets the value of ThreadRecordHeader[15:4].
Sourcepub fn record_type(&self) -> RecordTypewhere
RecordType: TryFromBytes,
pub fn record_type(&self) -> RecordTypewhere
RecordType: TryFromBytes,
The value of ThreadRecordHeader[3:0].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_record_type to recover from invalid bit patterns.
Sourcepub fn try_record_type(&self) -> Result<RecordType, InvalidBits<u8>>where
RecordType: TryFromBytes,
pub fn try_record_type(&self) -> Result<RecordType, InvalidBits<u8>>where
RecordType: TryFromBytes,
Fallible variant of Self::record_type.
Sourcepub fn set_record_type(&mut self, value: RecordType) -> &mut ThreadRecordHeaderwhere
RecordType: IntoBytes + Immutable,
pub fn set_record_type(&mut self, value: RecordType) -> &mut ThreadRecordHeaderwhere
RecordType: IntoBytes + Immutable,
Sets the value of ThreadRecordHeader[3:0].
Trait Implementations§
Source§impl Binary for ThreadRecordHeader
impl Binary for ThreadRecordHeader
Source§impl Clone for ThreadRecordHeader
impl Clone for ThreadRecordHeader
Source§fn clone(&self) -> ThreadRecordHeader
fn clone(&self) -> ThreadRecordHeader
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ThreadRecordHeader
Source§impl Debug for ThreadRecordHeader
impl Debug for ThreadRecordHeader
Source§impl Default for ThreadRecordHeader
impl Default for ThreadRecordHeader
Source§fn default() -> ThreadRecordHeader
fn default() -> ThreadRecordHeader
Returns an instance with the default bits set (i.e,. with a
value of Self::DEFAULT.