#[non_exhaustive]pub struct Thread {
pub event_id: OwnedEventId,
pub in_reply_to: Option<InReplyTo>,
pub is_falling_back: bool,
}
Expand description
The content of a thread relation.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.event_id: OwnedEventId
The ID of the root message in the thread.
in_reply_to: Option<InReplyTo>
A reply relation.
If this event is a reply and belongs to a thread, this points to the message that is being
replied to, and is_falling_back
must be set to false
.
If this event is not a reply, this is used as a fallback mechanism for clients that do not
support threads. This should point to the latest message-like event in the thread and
is_falling_back
must be set to true
.
is_falling_back: bool
Whether the m.in_reply_to
field is a fallback for older clients or a genuine reply in a
thread.
Implementations§
source§impl Thread
impl Thread
sourcepub fn plain(event_id: OwnedEventId, latest_event_id: OwnedEventId) -> Thread
pub fn plain(event_id: OwnedEventId, latest_event_id: OwnedEventId) -> Thread
Convenience method to create a regular Thread
relation with the given root event ID and
latest message-like event ID.
sourcepub fn without_fallback(event_id: OwnedEventId) -> Thread
pub fn without_fallback(event_id: OwnedEventId) -> Thread
Convenience method to create a regular Thread
relation with the given root event ID and
without the recommended reply fallback.
sourcepub fn reply(event_id: OwnedEventId, reply_to_event_id: OwnedEventId) -> Thread
pub fn reply(event_id: OwnedEventId, reply_to_event_id: OwnedEventId) -> Thread
Convenience method to create a reply Thread
relation with the given root event ID and
replied-to event ID.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Thread
impl<'de> Deserialize<'de> for Thread
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Thread, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Thread, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl Serialize for Thread
impl Serialize for Thread
source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for Thread
impl RefUnwindSafe for Thread
impl Send for Thread
impl Sync for Thread
impl Unpin for Thread
impl UnwindSafe for Thread
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> CompatExt for T
impl<T> CompatExt for T
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
source§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Arc<>
source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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