Spike targeted gossip rebootstrap

This commit is contained in:
2026-06-20 04:28:53 -04:00
parent ae29d1fea2
commit 5564af02f9
4 changed files with 255 additions and 3 deletions
+6 -1
View File
@@ -194,6 +194,12 @@ pub trait RoomState: Send + Sync {
/// Updates our local state (e.g. when user mutes/unmutes) and broadcasts it.
async fn update_self_state(&self, self_state: PeerState) -> Result<(), NetError>;
/// Ask the active gossip topic to connect to retained peer addresses without
/// leaving or replacing the subscription. This is a recovery primitive only:
/// it does not add peers to the authenticated room roster. A peer becomes
/// active only after its normal signed `Announce` is received and verified.
async fn rebootstrap_peers(&self, peers: Vec<EndpointAddr>) -> Result<(), NetError>;
/// Broadcasts a room text-chat message authored by us (our display name is
/// taken from the current self-state).
async fn send_chat(&self, text: String) -> Result<(), NetError>;
@@ -342,4 +348,3 @@ mod tests {
assert_eq!(original, deserialized);
}
}