Rewild Your Web
18
fork

Configure Feed

Select the types of activity you want to include in your feed.

beaver_p2p: abort early on errors

Signed-off-by: webbeef <me@webbeef.org>

webbeef 730077af e06ee6b3

+13 -5
+11 -4
crates/beaver_p2p/src/lib.rs
··· 354 354 to: &EndpointId, 355 355 addr: &EndpointAddr, 356 356 ) -> Result<Connection, MessageError> { 357 - let mut state = inner.state.lock().await; 358 - if let Some(conn) = state.by_id(to).and_then(|r| r.connection()).cloned() { 359 - return Ok(conn); 357 + { 358 + let state = inner.state.lock().await; 359 + if let Some(conn) = state.by_id(to).and_then(|r| r.connection()).cloned() { 360 + return Ok(conn); 361 + } 360 362 } 361 363 362 364 let conn = inner ··· 365 367 .connect(addr.clone(), MESSAGE_ALPN) 366 368 .await?; 367 369 368 - state.by_id_mut(to).map(|r| r.set_connection(conn.clone())); 370 + inner 371 + .state 372 + .lock() 373 + .await 374 + .by_id_mut(to) 375 + .map(|r| r.set_connection(conn.clone())); 369 376 370 377 Ok(conn) 371 378 }
+1
crates/beaver_p2p/src/message_protocol.rs
··· 48 48 }, 49 49 Err(err) => { 50 50 error!("Error reading message packet: {err}"); 51 + break; 51 52 }, 52 53 }, 53 54 Err(_) => break,
+1 -1
crates/beaver_p2p/src/state.rs
··· 7 7 use iroh::address_lookup::DiscoveryEvent; 8 8 use iroh::endpoint::Connection; 9 9 use iroh::{EndpointAddr, EndpointId}; 10 - use log::{info, warn}; 10 + use log::warn; 11 11 use serde::{Deserialize, Serialize}; 12 12 use tokio::sync::Mutex; 13 13 use tokio::sync::mpsc::{Receiver as TokioReceiver, Sender as TokioSender};