pub enum StarredIdentities {
All(Vec<(Option<String>, String)>),
Truncated,
}Expand description
The (url, guid) identity pairs of every cached starred entry for a DID.
The starred view matches PDS saved records against these to decide which records the cache can render itself. It must span the whole starred set, not the visible page: a record that looks uncached gets an un-save button that deletes the PDS RECORD rather than un-starring the entry, so narrowing this set changes what a click destroys. Identity strings only — no bodies.
Truncation is reported, not absorbed. The limit is a memory backstop,
but hitting it violates the invariant above — and the first version had no
way to say so and no ORDER BY, so it silently returned an ARBITRARY subset
and every starred article outside it rendered with a record-destroying
button. Truncated lets the caller fail closed instead, and the ordering
makes the subset at least deterministic across renders rather than
whatever the query planner felt like returning.
Variants§
All(Vec<(Option<String>, String)>)
The complete set for this DID.
Truncated
limit was reached, so this is a partial set and MUST NOT be used to
decide that a record is uncached.
Auto Trait Implementations§
impl Freeze for StarredIdentities
impl RefUnwindSafe for StarredIdentities
impl Send for StarredIdentities
impl Sync for StarredIdentities
impl Unpin for StarredIdentities
impl UnsafeUnpin for StarredIdentities
impl UnwindSafe for StarredIdentities
Blanket Implementations§
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
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> ⓘ
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> ⓘ
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