Skip to main content

ResolutionCache

Struct ResolutionCache 

Source
pub struct ResolutionCache { /* private fields */ }
Expand description

Service resolution cache for frequently accessed services

Caches resolved service instances to avoid repeated resolution overhead. Particularly beneficial for complex dependency graphs with deep nesting.

Implementations§

Source§

impl ResolutionCache

Source

pub fn new() -> Self

Create a new resolution cache with default configuration

Source

pub fn with_config(config: CacheConfig) -> Self

Create a new resolution cache with custom configuration

Source

pub fn get(&self, key: &Key) -> Option<Arc<dyn Any + Send + Sync>>

Get a service from the cache

Source

pub fn put(&self, key: Key, service: Arc<dyn Any + Send + Sync>) -> DiResult<()>

Put a service into the cache

Source

pub fn clear(&self)

Clear all cached entries

Source

pub fn stats(&self) -> CacheStats

Get cache statistics

Source

pub fn size(&self) -> usize

Get current cache size

Trait Implementations§

Source§

impl Debug for ResolutionCache

Source§

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

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

impl Default for ResolutionCache

Source§

fn default() -> Self

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

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