pub struct FieldLevelCacheDirective {
pub max_age_secs: Option<u64>,
pub scope: Option<CacheScope>,
pub inherit_max_age: bool,
}Expand description
A parsed @cacheControl directive extracted from a GraphQL field or type.
Fields§
§max_age_secs: Option<u64>The maxAge argument value in seconds, if specified.
scope: Option<CacheScope>The scope argument (PUBLIC or PRIVATE), if specified.
inherit_max_age: boolinheritMaxAge: true means the field inherits its parent’s max-age.
Implementations§
Source§impl FieldLevelCacheDirective
impl FieldLevelCacheDirective
Sourcepub fn parse(input: &str) -> Option<Self>
pub fn parse(input: &str) -> Option<Self>
Parse a @cacheControl(maxAge: N, scope: "PUBLIC") directive string.
Returns None if the input does not contain @cacheControl.
Sourcepub fn effective_max_age_ms(
directives: &[FieldLevelCacheDirective],
) -> Option<u64>
pub fn effective_max_age_ms( directives: &[FieldLevelCacheDirective], ) -> Option<u64>
Compute the effective max_age_ms for a set of directives collected
from all fields/types resolved during a query.
The effective value is the minimum maxAge across all directives
that have an explicit maxAge. Returns None if no directive
specifies maxAge.
Trait Implementations§
Source§impl Clone for FieldLevelCacheDirective
impl Clone for FieldLevelCacheDirective
Source§impl Debug for FieldLevelCacheDirective
impl Debug for FieldLevelCacheDirective
impl Eq for FieldLevelCacheDirective
Source§impl PartialEq for FieldLevelCacheDirective
impl PartialEq for FieldLevelCacheDirective
impl StructuralPartialEq for FieldLevelCacheDirective
Auto Trait Implementations§
impl Freeze for FieldLevelCacheDirective
impl RefUnwindSafe for FieldLevelCacheDirective
impl Send for FieldLevelCacheDirective
impl Sync for FieldLevelCacheDirective
impl Unpin for FieldLevelCacheDirective
impl UnsafeUnpin for FieldLevelCacheDirective
impl UnwindSafe for FieldLevelCacheDirective
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more