pub struct DriverStartArgs {
    pub node: Option<ClientEnd<NodeMarker>>,
    pub symbols: Option<Vec<NodeSymbol>>,
    pub url: Option<String>,
    pub program: Option<Dictionary>,
    pub incoming: Option<Vec<ComponentNamespaceEntry>>,
    pub outgoing_dir: Option<ServerEnd<DirectoryMarker>>,
    pub config: Option<Vmo>,
    pub node_name: Option<String>,
    pub node_properties: Option<Vec<NodePropertyEntry>>,
    /* private fields */
}
Expand description

Arguments for starting a driver.

Fields§

§node: Option<ClientEnd<NodeMarker>>

Node that the driver is bound to.

§symbols: Option<Vec<NodeSymbol>>

Symbols provided to the driver, for |node|. These come from the driver that added |node|, and are filtered to the symbols requested in the bind program.

§url: Option<String>

URL of the package containing the driver. This is purely informational, used only to provide data for inspect.

§program: Option<Dictionary>

Information about the driver to start. Currently, we support the following entries:

  1. “binary”: a string containing the package-relative path to the driver binary.
  2. “colocate” (optional): a string containing “true” or “false” specifying whether the driver should be colocated in the same driver host as the driver that added |node|. If not specified, the driver will be launched in a new driver host.
  3. “default_dispatcher_opts” (optional): an array of strings specifying the options for creating the default dispatcher. A string can be one of the following:
    • allow_sync_calls: allows synchronous calls to be done on the default dispatcher’s thread.
  4. “default_dispatcher_scheduler_role” (optional): the scheduler role to set for the default dispatcher created for the driver.
§incoming: Option<Vec<ComponentNamespaceEntry>>

Incoming namespace provided to the driver.

§outgoing_dir: Option<ServerEnd<DirectoryMarker>>

Outgoing directory served by the driver.

§config: Option<Vmo>

Configuration passed to the driver.

§node_name: Option<String>

The name of the node the driver is bound to.

§node_properties: Option<Vec<NodePropertyEntry>>

Node properties of the node the driver is bound to. If the node is non-composite then the “default” entry will contain the node’s own properties. If the node is a composite then there is an entry for each of its parents and the “default” entry will reference the primary composite parent node’s properties.

Trait Implementations§

source§

impl Debug for DriverStartArgs

source§

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

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

impl Decode<DriverStartArgs> for DriverStartArgs

source§

fn new_empty() -> Self

Creates a valid instance of Self. The specific value does not matter, since it will be overwritten by decode.
source§

unsafe fn decode( &mut self, decoder: &mut Decoder<'_>, offset: usize, depth: Depth ) -> Result<()>

Decodes an object of type T from the decoder’s buffers into self. Read more
source§

impl Default for DriverStartArgs

source§

fn default() -> DriverStartArgs

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

impl Encode<DriverStartArgs> for &mut DriverStartArgs

source§

unsafe fn encode( self, encoder: &mut Encoder<'_>, offset: usize, depth: Depth ) -> Result<()>

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

impl PartialEq for DriverStartArgs

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl ResourceTypeMarker for DriverStartArgs

§

type Borrowed<'a> = &'a mut DriverStartArgs

The Rust type to use for encoding. This is a particular Encode<Self> type cheaply obtainable from &mut Self::Owned. There are three cases: Read more
source§

fn take_or_borrow<'a>( value: &'a mut <Self as TypeMarker>::Owned ) -> Self::Borrowed<'a>

Cheaply converts from &mut Self::Owned to Self::Borrowed. For HandleBased types this is “take” (it returns an owned handle and replaces value with Handle::invalid), and for all other types it is “borrow” (just converts from one reference to another).
source§

impl TypeMarker for DriverStartArgs

§

type Owned = DriverStartArgs

The owned Rust type which this FIDL type decodes into.
source§

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.
source§

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

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

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.
source§

impl Standalone for DriverStartArgs

source§

impl StructuralPartialEq for DriverStartArgs

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
§

impl<T> Encode<Ambiguous1> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _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> Encode<Ambiguous2> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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