diff options
Diffstat (limited to 'src/transport/sim.rs')
| -rw-r--r-- | src/transport/sim.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/transport/sim.rs b/src/transport/sim.rs index ce5977f..05160f8 100644 --- a/src/transport/sim.rs +++ b/src/transport/sim.rs @@ -26,6 +26,7 @@ use tracing::{debug, warn}; use super::mycelium::{decode_message, encode_message}; use super::{EncodedMessage, MessageHandler, MessageKind, ParsedMessage, Transport}; +use crate::locks::MutexExt; use crate::testrand::Rng; /// How one direction of a link behaves. @@ -102,9 +103,7 @@ impl SimNet { } fn lock(&self) -> MutexGuard<'_, NetInner> { - self.inner - .lock() - .unwrap_or_else(|poisoned| poisoned.into_inner()) + self.inner.lock_or_recover() } /// A transport for a new node `id` on this net. @@ -256,6 +255,11 @@ impl Transport for SimTransport { &self.id } + /// Any name will do. + fn is_peer_id(&self, id: &str) -> bool { + !id.is_empty() + } + /// A seed is a node ID; one no node has doesn't resolve (yet). async fn resolve_seed(&self, seed: &str) -> Result<String> { if self.net.is_known(seed) { |
