Skip to main content

EventSuppression

Struct EventSuppression 

Source
pub struct EventSuppression { /* private fields */ }
Expand description

Event suppression structure for controlling notifications.

Implementations§

Source§

impl EventSuppression

Source

pub const SIZE: usize

Source

pub const ALIGN: usize

Source

pub const WRAP_OFFSET: usize

Source

pub const FLAGS_OFFSET: usize

Source

pub fn new(off_wrap: u16, flags: EventFlags) -> Self

Create a new event suppression with the given offset/wrap and flags.

Source

pub fn flags(&self) -> EventFlags

Get the event flags.

Source

pub fn set_flags(&mut self, flags: EventFlags)

Set the event flags.

Source

pub fn desc_event_off(&self) -> u16

Get the descriptor event offset (bits 0-14).

Source

pub fn desc_event_wrap(&self) -> bool

Check if the descriptor event wrap bit (bit 15) is set.

Source

pub fn set_desc_event(&mut self, off: u16, wrap: bool)

Set the descriptor event offset and wrap bit.

Source

pub fn read_flags_acquire<M: MemOps>( mem: &M, addr: u64, ) -> Result<EventFlags, M::Error>

Acquire-load only the flags word - the publish point - without reading the off_wrap payload.

§Invariant

The caller must ensure that addr is a valid pointer to an EventSuppression.

Source

pub fn read_body<M: MemOps>( mem: &M, addr: u64, flags: EventFlags, ) -> Result<Self, M::Error>

Read the off_wrap payload and combine it with flags already obtained from read_flags_acquire.

§Invariant

The caller must ensure that addr is a valid pointer to an EventSuppression.

Source

pub fn write_release<M: MemOps>( &self, mem: &M, addr: u64, ) -> Result<(), M::Error>

Write an EventSuppression to a raw pointer with release semantics.

§Invariant

The caller must ensure that base is a valid pointer to an EventSuppression.

Trait Implementations§

Source§

impl Clone for EventSuppression

Source§

fn clone(&self) -> EventSuppression

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for EventSuppression

Source§

impl Debug for EventSuppression

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for EventSuppression

Source§

impl Hash for EventSuppression

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for EventSuppression

Source§

fn eq(&self, other: &EventSuppression) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Pod for EventSuppression

Source§

impl StructuralPartialEq for EventSuppression

Source§

impl Zeroable for EventSuppression

Source§

fn zeroed() -> Self

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AnyBitPattern for T
where T: Pod,

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CheckedBitPattern for T
where T: AnyBitPattern,

Source§

type Bits = T

Self must have the same layout as the specified Bits except for the possible invalid bit patterns being checked during is_valid_bit_pattern.
Source§

fn is_valid_bit_pattern(_bits: &T) -> bool

If this function returns true, then it must be valid to reinterpret bits as &Self.
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> NoUninit for T
where T: Pod,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more