Trait FixedSizeValue

Source
pub unsafe trait FixedSizeValue: Copy {
    // Required method
    fn is_valid(data: &[u8]) -> bool;
}
Expand description

Marker trait for HCI values that have a known, fixed size

§Safety

  • Must not contain any padding (uninitialized) bytes (recursively)
  • structs must be #[repr(C)] or #[repr(transparent)]
  • enums must be #[repr(<int>)]
  • Must not contain any references, pointers, atomics, or interior mutability
  • is_valid() must return true only if data is a valid bit representation of Self

Required Methods§

Source

fn is_valid(data: &[u8]) -> bool

Checks if the bit representation in data is valid for Self.

May panic if data.len() != core::mem::size_of::<Self>()

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl FixedSizeValue for bool

Source§

fn is_valid(data: &[u8]) -> bool

Source§

impl FixedSizeValue for i8

Source§

fn is_valid(data: &[u8]) -> bool

Source§

impl FixedSizeValue for i16

Source§

fn is_valid(data: &[u8]) -> bool

Source§

impl FixedSizeValue for u8

Source§

fn is_valid(data: &[u8]) -> bool

Source§

impl FixedSizeValue for u16

Source§

fn is_valid(data: &[u8]) -> bool

Source§

impl FixedSizeValue for u32

Source§

fn is_valid(data: &[u8]) -> bool

Source§

impl FixedSizeValue for u64

Source§

fn is_valid(data: &[u8]) -> bool

Source§

impl FixedSizeValue for u128

Source§

fn is_valid(data: &[u8]) -> bool

Source§

impl FixedSizeValue for ()

Source§

fn is_valid(_data: &[u8]) -> bool

Source§

impl<T: FixedSizeValue, const N: usize> FixedSizeValue for [T; N]

Source§

fn is_valid(_data: &[u8]) -> bool

Implementors§

Source§

impl FixedSizeValue for AdvFilterPolicy

Source§

impl FixedSizeValue for AdvKind

Source§

impl FixedSizeValue for AdvPhyOptions

Source§

impl FixedSizeValue for ClockAccuracy

Source§

impl FixedSizeValue for ControllerToHostFlowControl

Source§

impl FixedSizeValue for CteKind

Source§

impl FixedSizeValue for DataStatus

Source§

impl FixedSizeValue for DisconnectReason

Source§

impl FixedSizeValue for FilterDuplicates

Source§

impl FixedSizeValue for LeAdvEventKind

Source§

impl FixedSizeValue for LeConnRole

Source§

impl FixedSizeValue for LePeriodicAdvSyncTransferMode

Source§

impl FixedSizeValue for LeScanKind

Source§

impl FixedSizeValue for LeTxPowerReportingReason

Source§

impl FixedSizeValue for LinkType

Source§

impl FixedSizeValue for Operation

Source§

impl FixedSizeValue for PacketStatus

Source§

impl FixedSizeValue for PhyKind

Source§

impl FixedSizeValue for PhyOptions

Source§

impl FixedSizeValue for PowerLevelKind

Source§

impl FixedSizeValue for PrivacyMode

Source§

impl FixedSizeValue for ScanningFilterPolicy

Source§

impl FixedSizeValue for ZoneEntered

Source§

impl FixedSizeValue for HostBufferSizeParams

Source§

impl FixedSizeValue for ReadAuthenticatedPayloadTimeoutReturn

Source§

impl FixedSizeValue for ReadTransmitPowerLevelParams

Source§

impl FixedSizeValue for ReadTransmitPowerLevelReturn

Source§

impl FixedSizeValue for WriteAuthenticatedPayloadTimeoutParams

Source§

impl FixedSizeValue for ReadLocalVersionInformationReturn

Source§

impl FixedSizeValue for LeAddDeviceToFilterAcceptListParams

Source§

impl FixedSizeValue for LeAddDeviceToPeriodicAdvListParams

Source§

impl FixedSizeValue for LeAddDeviceToResolvingListParams

Source§

impl FixedSizeValue for LeConnCteResponseEnableParams

Source§

impl FixedSizeValue for LeConnUpdateParams

Source§

impl FixedSizeValue for LeCreateConnParams

Source§

impl FixedSizeValue for LeEnableEncryptionParams

Source§

impl FixedSizeValue for LeEncryptParams

Source§

impl FixedSizeValue for LeEnhancedReadTransmitPowerLevelParams

Source§

impl FixedSizeValue for LeEnhancedReadTransmitPowerLevelReturn

Source§

impl FixedSizeValue for LeLongTermKeyRequestReplyParams

Source§

impl FixedSizeValue for LePeriodicAdvCreateSyncParams

Source§

impl FixedSizeValue for LePeriodicAdvSetInfoTransferParams

Source§

impl FixedSizeValue for LePeriodicAdvSyncTransferParams

Source§

impl FixedSizeValue for LeReadAntennaInformationReturn

Source§

impl FixedSizeValue for LeReadBufferSizeReturn

Source§

impl FixedSizeValue for LeReadChannelMapReturn

Source§

impl FixedSizeValue for LeReadMaxDataLengthReturn

Source§

impl FixedSizeValue for LeReadPhyReturn

Source§

impl FixedSizeValue for LeReadRemoteTransmitPowerLevelParams

Source§

impl FixedSizeValue for LeReadRfPathCompensationReturn

Source§

impl FixedSizeValue for LeReadSuggestedDefaultDataLengthReturn

Source§

impl FixedSizeValue for LeReadTransmitPowerReturn

Source§

impl FixedSizeValue for LeRemoveDeviceFromFilterAcceptListParams

Source§

impl FixedSizeValue for LeRemoveDeviceFromPeriodicAdvListParams

Source§

impl FixedSizeValue for LeRemoveDeviceFromResolvingListParams

Source§

impl FixedSizeValue for LeSetAdvDataParams

Source§

impl FixedSizeValue for LeSetAdvParamsParams

Source§

impl FixedSizeValue for LeSetAdvSetRandomAddrParams

Source§

impl FixedSizeValue for LeSetConnectionlessCteTransmitEnableParams

Source§

impl FixedSizeValue for LeSetDataLengthParams

Source§

impl FixedSizeValue for LeSetDataRelatedAddrChangesParams

Source§

impl FixedSizeValue for LeSetDefaultPeriodicAdvSyncTransferParamsParams

Source§

impl FixedSizeValue for LeSetDefaultPhyParams

Source§

impl FixedSizeValue for LeSetExtAdvParamsParams

Source§

impl FixedSizeValue for LeSetExtAdvParamsV2Params

Source§

impl FixedSizeValue for LeSetExtScanEnableParams

Source§

impl FixedSizeValue for LeSetPathLossReportingEnableParams

Source§

impl FixedSizeValue for LeSetPathLossReportingParamsParams

Source§

impl FixedSizeValue for LeSetPeriodicAdvEnableParams

Source§

impl FixedSizeValue for LeSetPeriodicAdvParamsParams

Source§

impl FixedSizeValue for LeSetPeriodicAdvParamsV2Params

Source§

impl FixedSizeValue for LeSetPeriodicAdvReceiveEnableParams

Source§

impl FixedSizeValue for LeSetPeriodicAdvSyncTransferParamsParams

Source§

impl FixedSizeValue for LeSetPhyParams

Source§

impl FixedSizeValue for LeSetPrivacyModeParams

Source§

impl FixedSizeValue for LeSetScanEnableParams

Source§

impl FixedSizeValue for LeSetScanParamsParams

Source§

impl FixedSizeValue for LeSetScanResponseDataParams

Source§

impl FixedSizeValue for LeSetTransmitPowerReportingEnableParams

Source§

impl FixedSizeValue for LeWriteRfPathCompensationParams

Source§

impl FixedSizeValue for LeWriteSuggestedDefaultDataLengthParams

Source§

impl FixedSizeValue for DisconnectParams

Source§

impl FixedSizeValue for ReadRssiReturn

Source§

impl FixedSizeValue for Opcode

Source§

impl FixedSizeValue for AclPacketHeader

Source§

impl FixedSizeValue for IsoPacketHeader

Source§

impl FixedSizeValue for SyncPacketHeader

Source§

impl FixedSizeValue for EventPacketHeader

Source§

impl FixedSizeValue for AddrKind

Source§

impl FixedSizeValue for AdvChannelMap

Source§

impl FixedSizeValue for AdvEventProps

Source§

impl FixedSizeValue for AdvHandle

Source§

impl FixedSizeValue for AdvSet

Source§

impl FixedSizeValue for AllPhys

Source§

impl FixedSizeValue for BdAddr

Source§

impl FixedSizeValue for BigHandle

Source§

impl FixedSizeValue for ChannelMap

Source§

impl FixedSizeValue for CmdMask

Source§

impl FixedSizeValue for ConnHandle

Source§

impl FixedSizeValue for CoreSpecificationVersion

Source§

impl FixedSizeValue for CteMask

Source§

impl FixedSizeValue for EventMask

Source§

impl FixedSizeValue for EventMaskPage2

Source§

impl FixedSizeValue for InitiatingPhy

Source§

impl FixedSizeValue for LeDataRelatedAddrChangeReasons

Source§

impl FixedSizeValue for LeEventMask

Source§

impl FixedSizeValue for LeExtAdvEventKind

Source§

impl FixedSizeValue for LeFeatureMask

Source§

impl FixedSizeValue for LePeriodicAdvCreateSyncOptions

Source§

impl FixedSizeValue for LePeriodicAdvReceiveEnable

Source§

impl FixedSizeValue for LmpFeatureMask

Source§

impl FixedSizeValue for PeriodicAdvProps

Source§

impl FixedSizeValue for PhyMask

Source§

impl FixedSizeValue for ScanningPhy

Source§

impl FixedSizeValue for Status

Source§

impl FixedSizeValue for SwitchingSamplingRates

Source§

impl FixedSizeValue for SyncHandle

Source§

impl<const US: u16> FixedSizeValue for ExtDuration<US>

Source§

impl<const US: u32> FixedSizeValue for Duration<US>