pub struct DriverStartArgs {Show 14 fields
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_offers: Option<Vec<Offer>>,
pub node_token: Option<Event>,
pub node_properties_2: Option<Vec<NodePropertyEntry2>>,
pub vmar: Option<Vmar>,
pub power_element_args: Option<PowerElementArgs>,
pub log_sink: Option<ClientEnd<LogSinkMarker>>,
/* 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:
- “binary”: a string containing the package-relative path to the driver binary.
- “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.
- “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.
- “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_offers: Option<Vec<Offer>>Node offers of the node the driver is bound to.
node_token: Option<Event>Provides a token representing this node which can be exchanged with the driver framework to discern additional information about this node.
node_properties_2: Option<Vec<NodePropertyEntry2>>§vmar: Option<Vmar>Root VMAR the driver is mapped into. All child mappings should be placed into this VMAR if they want to have the same scheduler profile applied to them.
power_element_args: Option<PowerElementArgs>Handles related to the driver’s power elements on products where suspend is enabled by the
fuchsia.power.SuspendEnabled config capability.
If the driver’s manifest contains suspend_enabled = "true" in the program section of its
manifest, the element_server, lessor_client, and token are passed to the driver,
otherwise the handles are retained by the driver host. control_client is always retained
by the driver host and never passed to the driver.
log_sink: Option<ClientEnd<LogSinkMarker>>Log sink channel.
Trait Implementations§
Source§impl Debug for DriverStartArgs
impl Debug for DriverStartArgs
Source§impl Decode<DriverStartArgs, DefaultFuchsiaResourceDialect> for DriverStartArgs
impl Decode<DriverStartArgs, DefaultFuchsiaResourceDialect> for DriverStartArgs
Source§impl Default for DriverStartArgs
impl Default for DriverStartArgs
Source§impl Encode<DriverStartArgs, DefaultFuchsiaResourceDialect> for &mut DriverStartArgs
impl Encode<DriverStartArgs, DefaultFuchsiaResourceDialect> for &mut DriverStartArgs
Source§impl PartialEq for DriverStartArgs
impl PartialEq for DriverStartArgs
Source§impl ResourceTypeMarker for DriverStartArgs
impl ResourceTypeMarker for DriverStartArgs
Source§type Borrowed<'a> = &'a mut DriverStartArgs
type Borrowed<'a> = &'a mut DriverStartArgs
Encode<Self>
type cheaply obtainable from &mut Self::Owned. There are three cases: Read moreSource§fn take_or_borrow<'a>(
value: &'a mut <Self as TypeMarker>::Owned,
) -> Self::Borrowed<'a>
fn take_or_borrow<'a>( value: &'a mut <Self as TypeMarker>::Owned, ) -> Self::Borrowed<'a>
&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).impl Standalone<DefaultFuchsiaResourceDialect> for DriverStartArgs
impl StructuralPartialEq for DriverStartArgs
Source§impl TypeMarker for DriverStartArgs
impl TypeMarker for DriverStartArgs
Source§type Owned = DriverStartArgs
type Owned = DriverStartArgs
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.