Enum GcProtection
#[repr(u32)]pub enum GcProtection {
OpenPackageTracking = 1,
Retained = 2,
}
Expand description
How the package served by [PackageCache.Get
] should be protected from GC.
Variants§
OpenPackageTracking = 1
Package will be protected from GC as long as there is an open connection to the directory.
Retained = 2
Package will be protected from GC as long as it is in the Retained index, which is
controlled by the [RetainedPackages
] protocol. Client is responsible for ensuring
the package is in the Retained index.
Implementations§
§impl GcProtection
impl GcProtection
pub fn from_primitive(prim: u32) -> Option<GcProtection>
pub const fn into_primitive(self) -> u32
pub fn is_unknown(&self) -> bool
👎Deprecated: Strict enums should not use
is_unknown
Trait Implementations§
§impl Clone for GcProtection
impl Clone for GcProtection
§fn clone(&self) -> GcProtection
fn clone(&self) -> GcProtection
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for GcProtection
impl Debug for GcProtection
§impl<D> Decode<GcProtection, D> for GcProtectionwhere
D: ResourceDialect,
impl<D> Decode<GcProtection, D> for GcProtectionwhere
D: ResourceDialect,
§fn new_empty() -> GcProtection
fn new_empty() -> GcProtection
Creates a valid instance of
Self
. The specific value does not matter,
since it will be overwritten by decode
.§impl<D> Encode<GcProtection, D> for GcProtectionwhere
D: ResourceDialect,
impl<D> Encode<GcProtection, D> for GcProtectionwhere
D: ResourceDialect,
§impl Hash for GcProtection
impl Hash for GcProtection
§impl Ord for GcProtection
impl Ord for GcProtection
§impl PartialEq for GcProtection
impl PartialEq for GcProtection
§impl PartialOrd for GcProtection
impl PartialOrd for GcProtection
§impl TypeMarker for GcProtection
impl TypeMarker for GcProtection
§type Owned = GcProtection
type Owned = GcProtection
The owned Rust type which this FIDL type decodes into.
§fn inline_align(_context: Context) -> usize
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.
§fn inline_size(_context: Context) -> usize
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
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
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.§impl ValueTypeMarker for GcProtection
impl ValueTypeMarker for GcProtection
§type Borrowed<'a> = GcProtection
type Borrowed<'a> = GcProtection
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§fn borrow(
value: &<GcProtection as TypeMarker>::Owned,
) -> <GcProtection as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<GcProtection as TypeMarker>::Owned, ) -> <GcProtection as ValueTypeMarker>::Borrowed<'_>
Cheaply converts from
&Self::Owned
to Self::Borrowed
.impl Copy for GcProtection
impl Eq for GcProtection
impl StructuralPartialEq for GcProtection
Auto Trait Implementations§
impl Freeze for GcProtection
impl RefUnwindSafe for GcProtection
impl Send for GcProtection
impl Sync for GcProtection
impl Unpin for GcProtection
impl UnwindSafe for GcProtection
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more