From: Jeffrey Czyz Date: Tue, 14 Jun 2022 23:05:25 +0000 (-0500) Subject: Look-up functions for ReadOnlyNetworkGraph X-Git-Tag: v0.0.110~15^2 X-Git-Url: http://git.bitcoin.ninja/?a=commitdiff_plain;h=2da49530e7dcfff877fa36590334bcdf312d5874;p=rust-lightning Look-up functions for ReadOnlyNetworkGraph ReadOnlyNetworkGraph uses BTreeMap to store its nodes and channels, but these data structures are not supported by C bindings. Expose look-up functions on these maps in lieu of such support. --- diff --git a/lightning/src/routing/gossip.rs b/lightning/src/routing/gossip.rs index f404e77b2..1a030e9dd 100644 --- a/lightning/src/routing/gossip.rs +++ b/lightning/src/routing/gossip.rs @@ -1602,6 +1602,11 @@ impl ReadOnlyNetworkGraph<'_> { &*self.channels } + /// Returns information on a channel with the given id. + pub fn channel(&self, short_channel_id: u64) -> Option<&ChannelInfo> { + self.channels.get(&short_channel_id) + } + /// Returns all known nodes' public keys along with announced node info. /// /// (C-not exported) because we have no mapping for `BTreeMap`s @@ -1609,6 +1614,11 @@ impl ReadOnlyNetworkGraph<'_> { &*self.nodes } + /// Returns information on a node with the given id. + pub fn node(&self, node_id: &NodeId) -> Option<&NodeInfo> { + self.nodes.get(node_id) + } + /// Get network addresses by node id. /// Returns None if the requested node is completely unknown, /// or if node announcement for the node was never received.