PutResult

Enum PutResult 

Source
pub enum PutResult<K, V> {
    Put,
    Update(V),
    Evicted {
        key: K,
        value: V,
    },
    EvictedAndUpdate {
        evicted: (K, V),
        update: V,
    },
}
Expand description

PutResult is returned when try to put a entry in cache.

  • PutResult::Put means that the key is not in cache previously, and the cache has enough capacity, no evict happens.

  • PutResult::Update means that the key already exists in the cache, and this operation updates the key’s value and the inner is the old value.

  • PutResult::Evicted means that the the key is not in cache previously, but the cache is full, so the evict happens. The inner is the evicted entry (Key, Value).

  • PutResult::EvictedAndUpdate is only possible to be returned by TwoQueueCache and AdaptiveCache. For more information, please see the related examples of TwoQueueCache and AdaptiveCache

Variants§

§

Put

Put means that the key is not in cache previously, and the cache has enough capacity, no evict happens.

§

Update(V)

Update means that the key already exists in the cache, and this operation updates the key’s value and the inner is the old value

§

Evicted

Evicted means that the the key is not in cache previously, but the cache is full, so the evict happens. The inner is the evicted entry (Key, Value).

Fields

§key: K

The key for the evicted entry.

§value: V

The value for the evicted entry.

§

EvictedAndUpdate

EvictedAndUpdate is only possible to be returned by TwoQueueCache.

For more information, please see the related examples of TwoQueueCache.

Fields

§evicted: (K, V)

The evicted entry.

§update: V

The old value for the updated entry.

Trait Implementations§

Source§

impl<K: Clone, V: Clone> Clone for PutResult<K, V>

Source§

fn clone(&self) -> Self

Returns a duplicate 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<K: Debug, V: Debug> Debug for PutResult<K, V>

Source§

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

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

impl<K: PartialEq, V: PartialEq> PartialEq for PutResult<K, V>

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<K: Copy, V: Copy> Copy for PutResult<K, V>

Source§

impl<K: Eq, V: Eq> Eq for PutResult<K, V>

Auto Trait Implementations§

§

impl<K, V> Freeze for PutResult<K, V>
where V: Freeze, K: Freeze,

§

impl<K, V> RefUnwindSafe for PutResult<K, V>

§

impl<K, V> Send for PutResult<K, V>
where V: Send, K: Send,

§

impl<K, V> Sync for PutResult<K, V>
where V: Sync, K: Sync,

§

impl<K, V> Unpin for PutResult<K, V>
where V: Unpin, K: Unpin,

§

impl<K, V> UnwindSafe for PutResult<K, V>
where V: UnwindSafe, K: UnwindSafe,

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

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

Source§

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

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

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V