pub enum NetworkCommand {
SubscribeRoom {
room_id: String,
},
UnsubscribeRoom {
room_id: String,
},
PublishRoomMessage {
room_id: String,
payload: Vec<u8>,
},
AnnounceRoom(RoomAnnouncement),
Dial {
address: Multiaddr,
},
AcceptInbound {
peer_id: PeerId,
},
RejectInbound {
peer_id: PeerId,
},
DisconnectPeer {
peer_id: PeerId,
},
Shutdown,
}Variants§
SubscribeRoom
Subscribe to a room’s per-room gossipsub topic.
UnsubscribeRoom
Unsubscribe from a room’s topic.
PublishRoomMessage
Publish a JSON-encoded RoomMessage to a room’s topic.
AnnounceRoom(RoomAnnouncement)
Publish a room announcement on the global rooms topic.
Dial
User-initiated dial of an explicit address. Used for cross-network reach when mDNS isn’t enough.
AcceptInbound
Phase A: user accepted an inbound dial — promote the peer to explicit-peer status so room announcements flow.
RejectInbound
Phase A: user rejected an inbound dial — disconnect them and add the peer_id to the in-memory blocklist for this session (caller is responsible for the persistent blocked_peers row).
DisconnectPeer
Phase C follow-up: drop a connection that failed an
application-level identity check (e.g. invite-fingerprint
mismatch). Differs from RejectInbound in that it doesn’t
touch the inbound-pending map (the connection is already
past Identify when we discover the mismatch) and doesn’t
persist a block — the caller may want to retry with a
corrected invite.
Shutdown
Trait Implementations§
Auto Trait Implementations§
impl Freeze for NetworkCommand
impl RefUnwindSafe for NetworkCommand
impl Send for NetworkCommand
impl Sync for NetworkCommand
impl Unpin for NetworkCommand
impl UnsafeUnpin for NetworkCommand
impl UnwindSafe for NetworkCommand
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> 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