Skip to main content

Ttl

Enum Ttl 

Source
pub enum Ttl {
    Missing,
    Forever,
    In(Duration),
}
Expand description

What a key says about when it goes away.

Three answers rather than two, because a key that is not there and a key that is never going away are different things and code that confuses them deletes the wrong data. Redis says this with -2 and -1 and hopes you read the manual.

Variants§

§

Missing

There is no such key.

§

Forever

The key is there and nothing is going to take it away.

§

In(Duration)

The key is there and this much of it is left.

Implementations§

Source§

impl Ttl

Source

pub fn left(self) -> Option<Duration>

How long is left, or None for a key that is missing or has no deadline.

The short answer for code that only wants to know whether it should refresh something. When the difference matters, match on the variants.

Source

pub fn found(self) -> bool

Whether the key is there at all.

Trait Implementations§

Source§

impl Clone for Ttl

Source§

fn clone(&self) -> Ttl

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Ttl

Source§

impl Debug for Ttl

Source§

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

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

impl Eq for Ttl

Source§

impl PartialEq for Ttl

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Ttl

Auto Trait Implementations§

§

impl Freeze for Ttl

§

impl RefUnwindSafe for Ttl

§

impl Send for Ttl

§

impl Sync for Ttl

§

impl Unpin for Ttl

§

impl UnsafeUnpin for Ttl

§

impl UnwindSafe for Ttl

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 = !

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.