fuchsia_inspect

Struct Inspector

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

Root of the Inspect API. Through this API, further nodes can be created and inspect can be served.

Implementations§

Source§

impl Inspector

Source

pub fn duplicate_vmo(&self) -> Option<Vmo>

Returns a duplicate of the underlying VMO for this Inspector.

The duplicated VMO will be read-only, and is suitable to send to clients over FIDL.

Source

pub fn duplicate_vmo_with_rights(&self, rights: Rights) -> Option<Vmo>

Returns a duplicate of the underlying VMO for this Inspector with the given rights.

The duplicated VMO will be read-only, and is suitable to send to clients over FIDL.

Source

pub fn frozen_vmo_copy(&self) -> Option<Vmo>

This produces a copy-on-write VMO with a generation count marked as VMO_FROZEN. The resulting VMO is read-only.

Failure This function returns None for failure. That can happen for a few reasons.

  1. It is a semantic error to freeze a VMO while an atomic transaction is in progress, because that transaction is supposed to be atomic.
  2. VMO errors. This can include running out of space or debug assertions.

Note: the generation count for the original VMO is updated immediately. Since the new VMO is page-by-page copy-on-write, at least the first page of the VMO will immediately do a true copy. The practical implications of this depend on implementation details like how large a VMO is versus page size.

Source

pub fn copy_vmo(&self) -> Option<Vmo>

Returns a VMO holding a copy of the data in this inspector.

The copied VMO will be read-only.

Source§

impl Inspector

Source

pub fn new(conf: InspectorConfig) -> Self

Initializes a new Inspect VMO object with the default maximum size.

Source

pub fn copy_vmo_data(&self) -> Option<Vec<u8>>

Returns a copy of the bytes stored in the VMO for this inspector.

The output will be truncated to only those bytes that are needed to accurately read the stored data.

Source

pub fn max_size(&self) -> Option<usize>

Source

pub fn is_valid(&self) -> bool

True if the Inspector was created successfully (it’s not No-Op)

Source

pub fn root(&self) -> &Node

Returns the root node of the inspect hierarchy.

Source

pub fn atomic_update<F, R>(&self, update_fn: F) -> R
where F: FnOnce(&Node) -> R,

Takes a function to execute as under a single lock of the Inspect VMO. This function receives a reference to the root of the inspect hierarchy.

Trait Implementations§

Source§

impl Clone for Inspector

Source§

fn clone(&self) -> Inspector

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Inspector

Source§

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

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

impl Default for Inspector

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl DiagnosticsHierarchyGetter<String> for Inspector

Source§

impl InspectorExt for Inspector

Source§

fn record_lazy_stats(&self)

Creates a new stats node that will expose the given Inspector stats.
Source§

impl ReadableTree for Inspector

Source§

fn vmo<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vmo, ReaderError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the vmo of the current root node.
Source§

fn tree_names<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, ReaderError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Returns the lazy links names.
Source§

fn read_tree<'life0, 'life1, 'async_trait>( &'life0 self, name: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Self, ReaderError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Loads the lazy link of the given name.
Source§

impl TryFrom<&Inspector> for Snapshot

Source§

type Error = ReaderError

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

fn try_from(inspector: &Inspector) -> Result<Self, Self::Error>

Performs the conversion.

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> 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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

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

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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.
§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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