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

@@ -94,7 +94,7 @@ impl EngineCore {
}
match NetworkingManager::new(session_id.clone()).await {
Ok(net_manager) => {
Ok((net_manager, bridge)) => {
let node_id = net_manager.node_id();
// Spawn NetworkingManager in background task
@@ -108,6 +108,7 @@ impl EngineCore {
let _ = self.handle.event_tx.send(EngineEvent::NetworkingStarted {
session_id: session_id.clone(),
node_id,
bridge,
});
tracing::info!("Networking started for session {}", session_id.to_code());
}