Skip to main content

KeyParts

Struct KeyParts 

Source
pub struct KeyParts<T> { /* 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) -> KeyParts<T>

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 for KeyParts<T>
where T: Debug,

Source§

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

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> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> LayoutRaw for T

Source§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
Source§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

Source§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
Source§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
Source§

impl<T> Pointee for T

Source§

type Metadata = ()

The metadata type for pointers and references to this type.
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<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more