pub struct SlackThreadRecord {
pub cursor: String,
pub edit_watermark: Option<String>,
pub owners: Vec<SlackThreadOwner>,
pub participating: bool,
}Expand description
What the store keeps about one followed thread: how far its replies have been read, the newest edit already handed over, and the sessions whose subscriptions put the thread on their radar.
The cursor is usually the string Slack sent, but not always: a thread forge starts tracking seeds it one microsecond below the reply that brought the thread in, since the cursor is exclusive. The per-tick read sends one microsecond below the cursor as the walk’s lower bound, so a reply at the cursor is re-read for an edit; the periodic whole read passes none. It is compared as a string throughout.
Fields§
§cursor: String§edit_watermark: Option<String>The newest edit stamp this thread has already handed over. Durable
with the row: held in memory only, a restart re-offers every
correction in the thread on the next whole read. A row written before
this field existed reads as None and is approximated by its cursor,
which drops an unjudged edit below that cursor and can re-offer an
already-handed one above it.
owners: Vec<SlackThreadOwner>§participating: boolWhether the user is in this thread, once that has been read off its replies. Kept because a reply cannot un-happen: once true, every walk can read past the cursor instead of reading the thread whole.
Trait Implementations§
Source§impl Clone for SlackThreadRecord
impl Clone for SlackThreadRecord
Source§impl Debug for SlackThreadRecord
impl Debug for SlackThreadRecord
Source§impl<'de> Deserialize<'de> for SlackThreadRecord
impl<'de> Deserialize<'de> for SlackThreadRecord
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for SlackThreadRecord
Source§impl PartialEq for SlackThreadRecord
impl PartialEq for SlackThreadRecord
Source§impl Serialize for SlackThreadRecord
impl Serialize for SlackThreadRecord
impl StructuralPartialEq for SlackThreadRecord
Auto Trait Implementations§
impl Freeze for SlackThreadRecord
impl RefUnwindSafe for SlackThreadRecord
impl Send for SlackThreadRecord
impl Sync for SlackThreadRecord
impl Unpin for SlackThreadRecord
impl UnsafeUnpin for SlackThreadRecord
impl UnwindSafe for SlackThreadRecord
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.