X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Frouting%2Fnetwork_graph.rs;h=bdb305e7870a2b9a30e9236c34b516dc2328c873;hb=56c75f0bac02db2212f8ef5357befdd5425da55d;hp=29bbc580a40384de0dda1fd9d1b29bfcff2620d6;hpb=e5310dd5f0347fcaaf21b2742a1084f97fc84bd8;p=rust-lightning diff --git a/lightning/src/routing/network_graph.rs b/lightning/src/routing/network_graph.rs index 29bbc580..bdb305e7 100644 --- a/lightning/src/routing/network_graph.rs +++ b/lightning/src/routing/network_graph.rs @@ -58,6 +58,18 @@ pub struct NetworkGraph { nodes: RwLock>, } +impl Clone for NetworkGraph { + fn clone(&self) -> Self { + let channels = self.channels.read().unwrap(); + let nodes = self.nodes.read().unwrap(); + Self { + genesis_hash: self.genesis_hash.clone(), + channels: RwLock::new(channels.clone()), + nodes: RwLock::new(nodes.clone()), + } + } +} + /// A read-only view of [`NetworkGraph`]. pub struct ReadOnlyNetworkGraph<'a> { channels: RwLockReadGuard<'a, BTreeMap>,