projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move to a constant for "bucket one" in the scoring buckets
[rust-lightning]
/
lightning
/
src
/
routing
/
gossip.rs
diff --git
a/lightning/src/routing/gossip.rs
b/lightning/src/routing/gossip.rs
index c15a7547b996e455bfc752b8befae2ab83b86c84..bb5531242188ba28028952b47aaeb3899a6e722c 100644
(file)
--- a/
lightning/src/routing/gossip.rs
+++ b/
lightning/src/routing/gossip.rs
@@
-254,7
+254,7
@@
pub struct P2PGossipSync<G: Deref<Target=NetworkGraph<L>>, U: Deref, L: Deref>
where U::Target: UtxoLookup, L::Target: Logger
{
network_graph: G,
where U::Target: UtxoLookup, L::Target: Logger
{
network_graph: G,
- utxo_lookup:
Option<U
>,
+ utxo_lookup:
RwLock<Option<U>
>,
#[cfg(feature = "std")]
full_syncs_requested: AtomicUsize,
pending_events: Mutex<Vec<MessageSendEvent>>,
#[cfg(feature = "std")]
full_syncs_requested: AtomicUsize,
pending_events: Mutex<Vec<MessageSendEvent>>,
@@
-273,7
+273,7
@@
where U::Target: UtxoLookup, L::Target: Logger
network_graph,
#[cfg(feature = "std")]
full_syncs_requested: AtomicUsize::new(0),
network_graph,
#[cfg(feature = "std")]
full_syncs_requested: AtomicUsize::new(0),
- utxo_lookup,
+ utxo_lookup
: RwLock::new(utxo_lookup)
,
pending_events: Mutex::new(vec![]),
logger,
}
pending_events: Mutex::new(vec![]),
logger,
}
@@
-282,8
+282,8
@@
where U::Target: UtxoLookup, L::Target: Logger
/// Adds a provider used to check new announcements. Does not affect
/// existing announcements unless they are updated.
/// Add, update or remove the provider would replace the current one.
/// Adds a provider used to check new announcements. Does not affect
/// existing announcements unless they are updated.
/// Add, update or remove the provider would replace the current one.
- pub fn add_utxo_lookup(&
mut
self, utxo_lookup: Option<U>) {
-
self.utxo_lookup
= utxo_lookup;
+ pub fn add_utxo_lookup(&self, utxo_lookup: Option<U>) {
+
*self.utxo_lookup.write().unwrap()
= utxo_lookup;
}
/// Gets a reference to the underlying [`NetworkGraph`] which was provided in
}
/// Gets a reference to the underlying [`NetworkGraph`] which was provided in
@@
-443,7
+443,7
@@
where U::Target: UtxoLookup, L::Target: Logger
}
fn handle_channel_announcement(&self, msg: &msgs::ChannelAnnouncement) -> Result<bool, LightningError> {
}
fn handle_channel_announcement(&self, msg: &msgs::ChannelAnnouncement) -> Result<bool, LightningError> {
- self.network_graph.update_channel_from_announcement(msg, &
self.utxo_lookup
)?;
+ self.network_graph.update_channel_from_announcement(msg, &
*self.utxo_lookup.read().unwrap()
)?;
Ok(msg.contents.excess_data.len() <= MAX_EXCESS_BYTES_FOR_RELAY)
}
Ok(msg.contents.excess_data.len() <= MAX_EXCESS_BYTES_FOR_RELAY)
}
@@
-1151,7
+1151,7
@@
impl Writeable for NodeAnnouncementInfo {
impl Readable for NodeAnnouncementInfo {
fn read<R: io::Read>(reader: &mut R) -> Result<Self, DecodeError> {
impl Readable for NodeAnnouncementInfo {
fn read<R: io::Read>(reader: &mut R) -> Result<Self, DecodeError> {
- _init_and_read_tlv_fields!(reader, {
+ _init_and_read_
len_prefixed_
tlv_fields!(reader, {
(0, features, required),
(2, last_update, required),
(4, rgb, required),
(0, features, required),
(2, last_update, required),
(4, rgb, required),
@@
-1259,7
+1259,7
@@
impl Readable for NodeInfo {
// with zero inbound fees, causing that heuristic to provide little gain. Worse, because it
// requires additional complexity and lookups during routing, it ends up being a
// performance loss. Thus, we simply ignore the old field here and no longer track it.
// with zero inbound fees, causing that heuristic to provide little gain. Worse, because it
// requires additional complexity and lookups during routing, it ends up being a
// performance loss. Thus, we simply ignore the old field here and no longer track it.
- _init_and_read_tlv_fields!(reader, {
+ _init_and_read_
len_prefixed_
tlv_fields!(reader, {
(0, _lowest_inbound_channel_fees, option),
(2, announcement_info_wrap, upgradable_option),
(4, channels, required_vec),
(0, _lowest_inbound_channel_fees, option),
(2, announcement_info_wrap, upgradable_option),
(4, channels, required_vec),