ad0d475a2e
Primer paso del plan "el encuentro entre Entes no se restringe a local". El swarm libp2p que vivía dentro de minga-p2p::network (282 LOC) sale a una crate compartida brahman-net para que cualquier protocolo de la familia (handshake brahman remoto en Fase 1, sync minga, futuros) reuse una sola malla TCP+Noise+Yamux+Kad+Identify+Stream. BrahmanNet expone: - new() / with_keypair() para identidad efimera o persistente - API de comandos uniforme: dial, listen, add_dht_peer, find_closest_peers, start_providing, find_providers - Publica peer_id (libp2p) y control (stream::Control) — cada protocolo registra su StreamProtocol sin acoplarse al swarm - Re-exporta Stream y StreamProtocol para evitar dep directa a libp2p minga-p2p::network reduce de 282 LOC a 22: re-export del nuevo BrahmanNet bajo el alias historico LibP2pNode (zero churn en MingaPeer) y la const SYNC_PROTOCOL = "/minga/sync/1.0.0" especifica del sub-protocolo de sync Minga. Aclaracion semantica anclada por el usuario: Arje es el init (PID 1), Brahman es el encuentro entre Entes. El nombre brahman-net refleja que la malla pertenece al encuentro, no al runtime — Minga es un cliente de la malla, no su dueño. Tests: minga-p2p completo verde (58 tests, sin regresion). Behavior identico — solo se movio codigo, ningun cambio funcional.
23 lines
929 B
Rust
23 lines
929 B
Rust
//! Re-export del nodo de la red Brahman especializado para Minga.
|
|
//!
|
|
//! Antes este módulo contenía el swarm libp2p completo. Ahora vive en
|
|
//! `brahman-net` (capa P2P compartida con el resto de la familia
|
|
//! brahman: `/brahman/handshake/1.0.0`, futuros sub-protocolos). Este
|
|
//! módulo se reduce a:
|
|
//!
|
|
//! - Re-exportar `BrahmanNet` bajo el alias histórico `LibP2pNode`
|
|
//! para zero churn en `MingaPeer`.
|
|
//! - Declarar la const `SYNC_PROTOCOL` específica de Minga
|
|
//! (`/minga/sync/1.0.0`).
|
|
//!
|
|
//! Cualquier consumer que necesite armar un nodo P2P puede importar
|
|
//! `brahman_net::BrahmanNet` directo y registrar sus propios protocolos
|
|
//! sin pasar por minga.
|
|
|
|
pub use brahman_net::{BrahmanNet as LibP2pNode, DiscoveredPeer, NodeError};
|
|
|
|
use libp2p::StreamProtocol;
|
|
|
|
/// Sub-protocolo de sync Minga sobre la malla brahman-net.
|
|
pub const SYNC_PROTOCOL: StreamProtocol = StreamProtocol::new("/minga/sync/1.0.0");
|