Skip to main content

KeyParts

Struct KeyParts 

Source
pub struct KeyParts<T: Sized> { /* private fields */ }
Expand description

Builder for accumulating cache key parts during extraction.

KeyParts carries both the subject being processed and the accumulated key parts. This allows extractors to be chained while building up the complete cache key.

§Type Parameter

  • T - The subject type (usually a request type)

§Usage

Extractors receive a KeyParts<T>, add their parts, and return it for the next extractor in the chain. Finally, into_cache_key() is called to produce the final CacheKey.

Implementations§

Source§

impl<T> KeyParts<T>

Source

pub fn new(subject: T) -> Self

Creates a new KeyParts wrapping the given subject.

Source

pub fn push(&mut self, part: KeyPart)

Adds a single key part.

Source

pub fn append(&mut self, parts: &mut Vec<KeyPart>)

Appends multiple key parts from a vector.

Source

pub fn into_cache_key(self) -> (T, CacheKey)

Consumes the builder and returns the subject with its cache key.

The returned cache key has an empty prefix and version 0.

Trait Implementations§

Source§

impl<T: Debug + Sized> Debug for KeyParts<T>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> Freeze for KeyParts<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for KeyParts<T>
where T: RefUnwindSafe,

§

impl<T> Send for KeyParts<T>
where T: Send,

§

impl<T> Sync for KeyParts<T>
where T: Sync,

§

impl<T> Unpin for KeyParts<T>
where T: Unpin,

§

impl<T> UnwindSafe for KeyParts<T>
where T: 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> 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 = 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.