Struct RingBufferConstraints
#[repr(C)]pub struct RingBufferConstraints {
pub min_frames: u32,
pub max_frames: u32,
pub modulo_frames: u32,
}
Expand description
Set restrictions for the device ring buffer. This must be called before
calling Add()
, or after Remove()
. Once the device is activated, the
ring buffer and its size are returned by the driver in response to an
AUDIO_RB_CMD_GET_BUFFER
command on the ring buffer channel.
Note: both min_frames and max_frames must be multiples of modulo_frames.
Fields§
§min_frames: u32
The ring buffer must have at least this many frames.
Must be a multiple of modulo_frames
.
max_frames: u32
The ring buffer can have at most this many frames.
Must be a multiple of modulo_frames
.
modulo_frames: u32
The ring buffer must have a multiple of this many frames. Cannot be zero.
Trait Implementations§
§impl Clone for RingBufferConstraints
impl Clone for RingBufferConstraints
§fn clone(&self) -> RingBufferConstraints
fn clone(&self) -> RingBufferConstraints
Returns a copy 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 more§impl Debug for RingBufferConstraints
impl Debug for RingBufferConstraints
§impl<D> Decode<RingBufferConstraints, D> for RingBufferConstraintswhere
D: ResourceDialect,
impl<D> Decode<RingBufferConstraints, D> for RingBufferConstraintswhere
D: ResourceDialect,
§fn new_empty() -> RingBufferConstraints
fn new_empty() -> RingBufferConstraints
Creates a valid instance of
Self
. The specific value does not matter,
since it will be overwritten by decode
.§impl<D> Encode<RingBufferConstraints, D> for &RingBufferConstraintswhere
D: ResourceDialect,
impl<D> Encode<RingBufferConstraints, D> for &RingBufferConstraintswhere
D: ResourceDialect,
§impl Hash for RingBufferConstraints
impl Hash for RingBufferConstraints
§impl Ord for RingBufferConstraints
impl Ord for RingBufferConstraints
§fn cmp(&self, other: &RingBufferConstraints) -> Ordering
fn cmp(&self, other: &RingBufferConstraints) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
§impl PartialEq for RingBufferConstraints
impl PartialEq for RingBufferConstraints
§impl PartialOrd for RingBufferConstraints
impl PartialOrd for RingBufferConstraints
§impl TypeMarker for RingBufferConstraints
impl TypeMarker for RingBufferConstraints
§type Owned = RingBufferConstraints
type Owned = RingBufferConstraints
The owned Rust type which this FIDL type decodes into.
§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Returns the minimum required alignment of the inline portion of the
encoded object. It must be a (nonzero) power of two.
§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
Returns the size of the inline portion of the encoded object, including
padding for alignment. Must be a multiple of
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Returns true if the memory layout of
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read more§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Returns true if the memory layout of
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.§impl ValueTypeMarker for RingBufferConstraints
impl ValueTypeMarker for RingBufferConstraints
§type Borrowed<'a> = &'a RingBufferConstraints
type Borrowed<'a> = &'a RingBufferConstraints
The Rust type to use for encoding. This is a particular
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more§fn borrow(
value: &<RingBufferConstraints as TypeMarker>::Owned,
) -> <RingBufferConstraints as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<RingBufferConstraints as TypeMarker>::Owned, ) -> <RingBufferConstraints as ValueTypeMarker>::Borrowed<'_>
Cheaply converts from
&Self::Owned
to Self::Borrowed
.impl Copy for RingBufferConstraints
impl Eq for RingBufferConstraints
impl Persistable for RingBufferConstraints
impl StructuralPartialEq for RingBufferConstraints
Auto Trait Implementations§
impl Freeze for RingBufferConstraints
impl RefUnwindSafe for RingBufferConstraints
impl Send for RingBufferConstraints
impl Sync for RingBufferConstraints
impl Unpin for RingBufferConstraints
impl UnwindSafe for RingBufferConstraints
Blanket Implementations§
§impl<T> Body for Twhere
T: Persistable,
impl<T> Body for Twhere
T: Persistable,
§type MarkerAtTopLevel = T
type MarkerAtTopLevel = T
The marker type to use when the body is at the top-level.
§type MarkerInResultUnion = T
type MarkerInResultUnion = T
The marker type to use when the body is nested in a result union.
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