pub struct RouteRequest {
pub build_type_name: Option<String>,
pub availability: Option<Availability>,
pub directory_rights: Option<Flags>,
pub directory_intermediate_rights: Option<Flags>,
pub inherit_rights: Option<bool>,
pub sub_directory_path: Option<String>,
pub isolated_storage_path: Option<String>,
pub storage_sub_directory_path: Option<String>,
pub storage_source_moniker: Option<String>,
pub event_stream_scope_moniker: Option<String>,
pub event_stream_scope: Option<Vec<Ref>>,
pub skip_policy_checks: Option<bool>,
/* private fields */
}Expand description
Contains metadata about the requested capability, which can be used to modify the returned capability (such as reducing directory rights), or used to reject the route (i.e. return an error).
Fields§
§build_type_name: Option<String>The build-time type of the capability that’s being routed (e.g. protocol, storage, or resolver). Should always be set.
availability: Option<Availability>The availability of the requested capability. Should always be set.
directory_rights: Option<Flags>The rights the directory is being requested at. Should be set when routing a directory or storage capability.
directory_intermediate_rights: Option<Flags>The rights associated with the previous declaration in a multi-step route. Should be set when routing a directory or storage capability.
inherit_rights: Option<bool>Whether or not directory rights should be inherited from the capability declaration if they are not present in an expose or offer declaration. Must be set when routing a directory or storage capability.
sub_directory_path: Option<String>The sub-path at which a directory capability should be connected. May be set when routing a directory or storage capability.
isolated_storage_path: Option<String>The path within the backing directory that a used storage capability will be connected to.
storage_sub_directory_path: Option<String>The subdirectory inside of the storage backing directory’s subdirectory to use, if any. The difference between this and sub_directory_path is that a) the sub_directory_path generically refers to the subdirectory of a directory capability, and b) the sub_directory_path is appended to the isolated_storage_path first (which is a path into a backing directory), and component_manager will create the storage_sub_directory_path if it doesn’t exist but won’t create sub_directory_path. Accordingly, the complete path to a storage capability within the backing directory is {isolated_storage_path}/{sub_directory_path}/{storage_sub_directory_path}.
Should be set when routing a storage capability.
storage_source_moniker: Option<String>The moniker of a component that provides a storage build-time capability. Should be set when routing the backing directory of a storage capability.
event_stream_scope_moniker: Option<String>The moniker of the component that has set a scope on an event stream. May be set when routing an event stream.
event_stream_scope: Option<Vec<Ref>>The scope(s) from which the consumer of this event stream will be able
to observe events. Relative to the scope_moniker. May be set when
routing an event stream.
skip_policy_checks: Option<bool>Disables allowlist checking for the routed capability. This flag is ignored when not running on host, and is necessary for performing checks on intermediate routes in scrutiny (e.g. routing from an “offer” and not a “use”). May be set for any build-time capability type.
Trait Implementations§
Source§impl Clone for RouteRequest
impl Clone for RouteRequest
Source§fn clone(&self) -> RouteRequest
fn clone(&self) -> RouteRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RouteRequest
impl Debug for RouteRequest
Source§impl<D> Decode<RouteRequest, D> for RouteRequestwhere
D: ResourceDialect,
impl<D> Decode<RouteRequest, D> for RouteRequestwhere
D: ResourceDialect,
Source§fn new_empty() -> RouteRequest
fn new_empty() -> RouteRequest
Self. The specific value does not matter,
since it will be overwritten by decode.Source§impl Default for RouteRequest
impl Default for RouteRequest
Source§fn default() -> RouteRequest
fn default() -> RouteRequest
Source§impl<D> Encode<RouteRequest, D> for &RouteRequestwhere
D: ResourceDialect,
impl<D> Encode<RouteRequest, D> for &RouteRequestwhere
D: ResourceDialect,
Source§impl PartialEq for RouteRequest
impl PartialEq for RouteRequest
Source§impl TypeMarker for RouteRequest
impl TypeMarker for RouteRequest
Source§type Owned = RouteRequest
type Owned = RouteRequest
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 RouteRequest
impl ValueTypeMarker for RouteRequest
Source§type Borrowed<'a> = &'a RouteRequest
type Borrowed<'a> = &'a RouteRequest
Encode<Self>
type cheaply obtainable from &Self::Owned. There are three cases: Read moreSource§fn borrow(
value: &<RouteRequest as TypeMarker>::Owned,
) -> <RouteRequest as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<RouteRequest as TypeMarker>::Owned, ) -> <RouteRequest as ValueTypeMarker>::Borrowed<'_>
&Self::Owned to Self::Borrowed.