pub struct ReadCursor {
pub did: String,
pub feed_url: String,
pub read_through: Option<String>,
pub read_ids: String,
pub unread_ids: String,
pub dirty: bool,
pub pds_created: bool,
pub updated_at: String,
}Expand description
Per-(did, feed_url) read cursor — the local mirror of the PDS
community.lexicon.rss.readState record plus flush bookkeeping.
read_ids / unread_ids are stored as JSON arrays of entry ids (the two
bounded exception sets around the read_through high-water-mark); dirty
marks that local entry_state has changed since the last PDS flush.
Fields§
§did: String§feed_url: String§read_through: Option<String>High-water-mark (RFC3339): every entry seen/published <= this is read.
read_ids: StringJSON array of entry ids newer than read_through that are also read.
unread_ids: StringJSON array of entry ids older than read_through explicitly kept unread.
dirty: boolSet when entry_state changed since the last flush (debounce trigger).
pds_created: boolWhether this cursor’s readState record has been CREATED in the PDS yet.
The first flush of a feed must emit an applyWrites#create (an #update
errors on a record that does not pre-exist, and applyWrites is atomic
per-repo, so one not-yet-created cursor would drop the whole DID batch).
Flipped to true on the flush that creates it.
updated_at: StringTrait Implementations§
Source§impl Clone for ReadCursor
impl Clone for ReadCursor
Source§fn clone(&self) -> ReadCursor
fn clone(&self) -> ReadCursor
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReadCursor
impl Debug for ReadCursor
impl Eq for ReadCursor
Source§impl<'a, R: Row> FromRow<'a, R> for ReadCursor
impl<'a, R: Row> FromRow<'a, R> for ReadCursor
Source§impl PartialEq for ReadCursor
impl PartialEq for ReadCursor
impl StructuralPartialEq for ReadCursor
Auto Trait Implementations§
impl Freeze for ReadCursor
impl RefUnwindSafe for ReadCursor
impl Send for ReadCursor
impl Sync for ReadCursor
impl Unpin for ReadCursor
impl UnsafeUnpin for ReadCursor
impl UnwindSafe for ReadCursor
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
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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