Connect engine NetworkingManager to Bevy GossipBridge

- Engine creates GossipBridge and returns it via NetworkingStarted event
- NetworkingManager forwards incoming gossip → GossipBridge.push_incoming()
- NetworkingManager polls GossipBridge.try_recv_outgoing() → broadcasts via iroh
- Bevy inserts GossipBridge resource when networking starts
- Added Debug impl for GossipBridge

Fixes gossip layer connectivity between iroh network and Bevy sync systems.

References: #131, #132
Signed-off-by: Sienna Meridian Satterwhite <sienna@r3t.io>
This commit is contained in:
2025-12-24 14:01:22 +00:00
parent 8ca02fd492
commit 3e840908f6
6 changed files with 64 additions and 10 deletions

View File

@@ -43,6 +43,16 @@ pub struct GossipBridge {
pub node_id: NodeId,
}
impl std::fmt::Debug for GossipBridge {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("GossipBridge")
.field("node_id", &self.node_id)
.field("outgoing_len", &self.outgoing.lock().ok().map(|q| q.len()))
.field("incoming_len", &self.incoming.lock().ok().map(|q| q.len()))
.finish()
}
}
impl GossipBridge {
/// Create a new gossip bridge
pub fn new(node_id: NodeId) -> Self {