Skip to main content

CachedEntry

Struct CachedEntry 

Source
#[non_exhaustive]
pub struct CachedEntry { pub name: String, pub data: DexBytes, /* private fields */ }
Expand description

A cached inflated entry.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§name: String

The APK entry name.

§data: DexBytes

The inflated entry.

Implementations§

Source§

impl CachedEntry

Source

pub fn logical(&self) -> &[LogicalDex]

Logical DEX files of this entry (one, unless it is a 041 container).

Source

pub fn resident_bytes(&self) -> usize

Bytes this entry keeps resident once searched: the inflated entry plus, for a 041 container, one full-container copy per further logical DEX (what logical() materialises). Computed from the headers alone so accounting does not itself trigger those copies.

Source

pub fn state_bytes(&self) -> usize

Bytes of the locator tables built (on the heap) or mapped (from L2) so far for this entry’s logical DEX files (0 before the first search).

Source

pub fn charged_bytes(&self) -> usize

What the in-memory cache charges for this entry: heap bytes in full (the inflated entry when not mapped, a container’s logical copies, tables built on the heap) and file-backed bytes (the entry mapped from L1 or the APK, tables mapped from L2) at 1/MAPPED_CHARGE_DIVISOR.

Source

pub fn is_mapped(&self) -> bool

Whether the entry’s bytes are mapped from the disk cache.

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
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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.