pub struct Config {
Show 17 fields pub debug: Option<bool>, pub list_children_batch_size: Option<u32>, pub security_policy: Option<SecurityPolicy>, pub namespace_capabilities: Option<Vec<Capability>>, pub use_builtin_process_launcher: Option<bool>, pub maintain_utc_clock: Option<bool>, pub num_threads: Option<u32>, pub root_component_url: Option<String>, pub component_id_index_path: Option<String>, pub log_destination: Option<LogDestination>, pub log_all_events: Option<bool>, pub builtin_boot_resolver: Option<BuiltinBootResolver>, pub realm_builder_resolver_and_runner: Option<RealmBuilderResolverAndRunner>, pub builtin_capabilities: Option<Vec<Capability>>, pub enable_introspection: Option<bool>, pub abi_revision_policy: Option<AbiRevisionPolicy>, pub vmex_source: Option<VmexSource>, /* private fields */
}

Fields§

§debug: Option<bool>

If true, component manager will be in debug mode. In this mode, component manager provides the EventSource protocol and exposes this protocol. Component manager will not start until it is resumed by a call to EventSource.StartComponentTree.

This is done so that an external component (say an integration test) can subscribe to events before the root component has started.

§list_children_batch_size: Option<u32>

How many children, maximum, are returned by a call to Realm.ChildIterator.next().

§security_policy: Option<SecurityPolicy>

Security policy configuration.

§namespace_capabilities: Option<Vec<Capability>>

Capabilities offered from component manager’s namespace.

§use_builtin_process_launcher: Option<bool>

If true, component_manager will serve an instance of fuchsia.process.Launcher and use this launcher for the built-in ELF component runner. The root component can additionally use and/or offer this service using /builtin/fuchsia.process.Launcher from realm. This flag exists because the built-in process launcher only works when component_manager runs under a job that has ZX_POL_NEW_PROCESS set to allow, like the root job. Otherwise, the component_manager process cannot directly create process through zx_process_create. When we run component_manager elsewhere, like in test environments, it has to use the fuchsia.process.Launcher service provided through its namespace instead.

§maintain_utc_clock: Option<bool>

If true, component_manager will maintain a UTC kernel clock and vend write handles through an instance of fuchsia.time.Maintenance. This flag should only be used with the top-level component_manager.

§num_threads: Option<u32>

The number of threads to use for running component_manager’s executor. If not present, interpreted as 1.

§root_component_url: Option<String>

URL of the root component to launch. This field is used if the no URL is passed to component manager. If value is passed in both places, then an error is raised.

§component_id_index_path: Option<String>

Path to the component ID index. An empty value defaults to an empty index. An invalid index causes component_manager to abort.

§log_destination: Option<LogDestination>

Where to log to.

§log_all_events: Option<bool>

If true, component manager will log all events dispatched in the topology.

§builtin_boot_resolver: Option<BuiltinBootResolver>

Which builtin resolver to use for the fuchsia-boot scheme. If not present, interpreted as BuiltinBootResolver.NONE.

§realm_builder_resolver_and_runner: Option<RealmBuilderResolverAndRunner>

If and how the realm builder resolver and runner will be used. Typically these capabilities from realm builder are available to a nested component manager that is undergoing an integration test.

§builtin_capabilities: Option<Vec<Capability>>

Capabilities offered from component manager as built-in capabilities.

§enable_introspection: Option<bool>

Enables Component Manager’s introspection APIs (RealmQuery, RealmExplorer, RouteValidator, LifecycleController, etc.) for use by components.

§abi_revision_policy: Option<AbiRevisionPolicy>

The enforcement and validation policy to apply to component target ABI revisions. If not present, defaults to AbiRevisionPolicy::ENFORCE_PRESENCE_AND_COMPATIBILITY.

§vmex_source: Option<VmexSource>

Where to obtain the vmex resource from, if this component_manager is hosting bootfs. If not present, defaults to VmexSource::SYSTEM_RESOURCE.

Trait Implementations§

source§

impl Clone for Config

source§

fn clone(&self) -> Config

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 Config

source§

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

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

impl Decode<Config> for Config

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 Config

source§

fn default() -> Config

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

impl Encode<Config> for &Config

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 Config

source§

fn eq(&self, other: &Config) -> 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 TypeMarker for Config

§

type Owned = Config

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 ValueTypeMarker for Config

§

type Borrowed<'a> = &'a Config

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

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

Cheaply converts from &Self::Owned to Self::Borrowed.
source§

impl Persistable for Config

source§

impl StructuralPartialEq for Config

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

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
§

impl<T> Body for T
where T: Persistable,

§

type MarkerAtTopLevel = T

The marker type to use when the body is at the top-level.
§

type MarkerInResultUnion = T

The marker type to use when the body is nested in a result union.
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
§

impl<E> ErrorType for E
where E: ValueTypeMarker<Owned = E> + Decode<E>,

§

type Marker = E

The marker type.
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,

§

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

§

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