Enum BufferingMode
#[repr(u8)]pub enum BufferingMode {
Oneshot = 1,
Circular = 2,
Streaming = 3,
}
Expand description
The trace buffering mode.
Variants§
Oneshot = 1
In oneshot mode there is only one buffer that is not reused. When the buffer fills the provider just keeps dropping records, keeping a count, and then when tracing stops the header is updated to record final state.
Circular = 2
In circular mode, the buffer is continually written to until tracing stops. When the buffer fills older records are discarded as needed.
Streaming = 3
In streaming mode, the buffer is effectively split into two pieces. When one half of the buffer fills the provider notifies the trace manager via the provided fifo, and then starts filling the other half of the buffer. When the buffer is saved, the manager responds via the provided fifo. If trace manager hasn’t saved the buffer in time, and the other buffer fills, then the provider is required to drop records until space becomes available.
Implementations§
§impl BufferingMode
impl BufferingMode
pub fn from_primitive(prim: u8) -> Option<BufferingMode>
pub const fn into_primitive(self) -> u8
pub fn is_unknown(&self) -> bool
is_unknown
Trait Implementations§
§impl Clone for BufferingMode
impl Clone for BufferingMode
§fn clone(&self) -> BufferingMode
fn clone(&self) -> BufferingMode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for BufferingMode
impl Debug for BufferingMode
§impl<D> Decode<BufferingMode, D> for BufferingModewhere
D: ResourceDialect,
impl<D> Decode<BufferingMode, D> for BufferingModewhere
D: ResourceDialect,
§fn new_empty() -> BufferingMode
fn new_empty() -> BufferingMode
Self
. The specific value does not matter,
since it will be overwritten by decode
.§impl<D> Encode<BufferingMode, D> for BufferingModewhere
D: ResourceDialect,
impl<D> Encode<BufferingMode, D> for BufferingModewhere
D: ResourceDialect,
§impl Hash for BufferingMode
impl Hash for BufferingMode
§impl Ord for BufferingMode
impl Ord for BufferingMode
§impl PartialEq for BufferingMode
impl PartialEq for BufferingMode
§impl PartialOrd for BufferingMode
impl PartialOrd for BufferingMode
§impl TypeMarker for BufferingMode
impl TypeMarker for BufferingMode
§type Owned = BufferingMode
type Owned = BufferingMode
§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
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
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 BufferingMode
impl ValueTypeMarker for BufferingMode
§type Borrowed<'a> = BufferingMode
type Borrowed<'a> = BufferingMode
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more§fn borrow(
value: &<BufferingMode as TypeMarker>::Owned,
) -> <BufferingMode as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<BufferingMode as TypeMarker>::Owned, ) -> <BufferingMode as ValueTypeMarker>::Borrowed<'_>
&Self::Owned
to Self::Borrowed
.