pub enum DispatchedV2 {
Chat {
channel_id: String,
event: Box<ChatEvent>,
},
Typing {
channel_id: String,
npub: String,
},
Presence {
npub: String,
joined: bool,
},
Control {
community_id: String,
},
Rekey {
community_id: String,
},
Dissolved {
community_id: String,
},
Ignored,
NotOurs,
}Expand description
The typed outcome of dispatching one v2 wrap.
Variants§
Chat
An OPENED chat event (message/reaction/edit/delete) on channel_id (hex),
NOT yet applied. The realtime layer runs it through persist_chat_event
and fires the matching callback from the outcome — so a re-wrapped
duplicate (any keyholder can re-wrap a signed seal into a fresh 1059) or a
forged edit/delete never re-fires a handler, exactly v1’s model.
Typing
A typing indicator from npub on channel_id.
Presence
A Guestbook join/leave for npub.
Control
A wrap on this community’s Control Plane — its metadata/channel set may have changed. Recognized here (address match) but NOT folded: the fold needs the whole edition chain, so the realtime layer re-fetches + re-folds
- re-subscribes.
community_idis hex.
Rekey
A wrap on one of this community’s next-epoch rekey planes — a rotation is in
flight. Recognized by address; the realtime layer runs the stateful catch-up
(super::service::follow_rekeys) across every scope. community_id is hex.
Dissolved
A verified owner-signed tombstone at the dissolved plane (CORD-02 §9): the
community is dead. The realtime layer seals it read-only. community_id is hex.
Ignored
The wrap opened on a v2 plane but carries nothing the handler renders (e.g. a WebXDC signal, or a kick we don’t surface in the first cut).
NotOurs
Not a v2 plane of this community — try elsewhere / drop.
Trait Implementations§
Source§impl Clone for DispatchedV2
impl Clone for DispatchedV2
Source§fn clone(&self) -> DispatchedV2
fn clone(&self) -> DispatchedV2
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for DispatchedV2
impl RefUnwindSafe for DispatchedV2
impl Send for DispatchedV2
impl Sync for DispatchedV2
impl Unpin for DispatchedV2
impl UnsafeUnpin for DispatchedV2
impl UnwindSafe for DispatchedV2
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<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