#[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§
Source§impl BufferingMode
impl BufferingMode
pub fn from_primitive(prim: u8) -> Option<Self>
pub const fn into_primitive(self) -> u8
pub fn is_unknown(&self) -> bool
is_unknown
Trait Implementations§
Source§impl Clone for BufferingMode
impl Clone for BufferingMode
Source§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 moreSource§impl Debug for BufferingMode
impl Debug for BufferingMode
Source§impl<D: ResourceDialect> Decode<BufferingMode, D> for BufferingMode
impl<D: ResourceDialect> Decode<BufferingMode, D> for BufferingMode
Source§impl<D: ResourceDialect> Encode<BufferingMode, D> for BufferingMode
impl<D: ResourceDialect> Encode<BufferingMode, D> for BufferingMode
Source§impl Hash for BufferingMode
impl Hash for BufferingMode
Source§impl Ord for BufferingMode
impl Ord for BufferingMode
Source§fn cmp(&self, other: &BufferingMode) -> Ordering
fn cmp(&self, other: &BufferingMode) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for BufferingMode
impl PartialEq for BufferingMode
Source§impl PartialOrd for BufferingMode
impl PartialOrd for BufferingMode
Source§impl TypeMarker for BufferingMode
impl TypeMarker for BufferingMode
Source§type Owned = BufferingMode
type Owned = BufferingMode
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.Source§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 moreSource§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.Source§impl ValueTypeMarker for BufferingMode
impl ValueTypeMarker for BufferingMode
Source§type Borrowed<'a> = BufferingMode
type Borrowed<'a> = BufferingMode
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read moreimpl Copy for BufferingMode
impl Eq for BufferingMode
impl StructuralPartialEq for BufferingMode
Auto Trait Implementations§
impl Freeze for BufferingMode
impl RefUnwindSafe for BufferingMode
impl Send for BufferingMode
impl Sync for BufferingMode
impl Unpin for BufferingMode
impl UnwindSafe for BufferingMode
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)