Sincronizar el latido de múltiples sistemas sin caer en carreras de datos requiere el rigor de Rust y la pureza del modelo de actores.
El telar rechaza la memoria compartida desprotegida; en su lugar, consagra la comunicación secuencial por paso de mensajes inmutables.
El telar distribuye mensajes litúrgicos a través de canales bounded MPSC con cero asignaciones redundantes:
1use tokio::sync::mpsc::{channel, Sender, Receiver};23#[derive(Debug, Clone)]4pub enum RiteMessage {5 AwakenNode(u64),6 QuenchFlame,7 SyncState { tick: u64, energy_cost: f64 },8}910pub struct LoomActor {11 rx: Receiver<RiteMessage>,12 active_threads: usize,13}1415impl LoomActor {16 pub async fn run(&mut self) {17 while let Some(msg) = self.rx.recv().await {18 match msg {19 RiteMessage::AwakenNode(id) => {20 tracing::info!("Despertando nodo arcanum {}", id);21 }22 RiteMessage::QuenchFlame => break,23 RiteMessage::SyncState { tick, .. } => {24 tracing::debug!("Sincronizando pulso {}", tick);25 }26 }27 }28 }29}La contención de hilos se extingue por diseño al delegar el flujo de control al planificador cooperativo de Tokio.
Las garantías de propiedad y lifetimes eliminan la necesidad de recolectores de basura en tiempo de ejecución:
1pub trait ArcanumExtractor: Send + Sync {2 type Output;3 fn extract_rune(&self, raw_buffer: &[u8]) -> Result<Self::Output, &'static str>;4}Mediante monomorfización exhaustiva, el compilador desdobla los traits en llamadas directas sin indirección dinámica de vtables.
La forja concluye que la seguridad de tipos no es un lastre, sino el escudo que protege el rito de la corrupción de memoria.