X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fln%2Fpeer_handler.rs;fp=lightning%2Fsrc%2Fln%2Fpeer_handler.rs;h=2e7ce4e2973ce57d54c2285a1fd6e2792542711b;hb=d3fb619020df91959d2c20bdf5ef76d1d63f9778;hp=e25e50c28b5f1190edea81c429bae659b6a0c092;hpb=2ec7c7703698b55942a7d0d1b23d83e3881d557f;p=rust-lightning diff --git a/lightning/src/ln/peer_handler.rs b/lightning/src/ln/peer_handler.rs index e25e50c2..2e7ce4e2 100644 --- a/lightning/src/ln/peer_handler.rs +++ b/lightning/src/ln/peer_handler.rs @@ -189,7 +189,6 @@ pub struct PeerManager where CM::Target peer_counter_low: AtomicUsize, peer_counter_high: AtomicUsize, - initial_syncs_sent: AtomicUsize, logger: Arc, } @@ -212,9 +211,6 @@ macro_rules! encode_msg { }} } -//TODO: Really should do something smarter for this -const INITIAL_SYNCS_TO_SEND: usize = 5; - /// Manages and reacts to connection events. You probably want to use file descriptors as PeerIds. /// PeerIds may repeat, but only after disconnect_event() has been called. impl PeerManager where CM::Target: msgs::ChannelMessageHandler { @@ -236,7 +232,6 @@ impl PeerManager where ephemeral_key_midstate, peer_counter_low: AtomicUsize::new(0), peer_counter_high: AtomicUsize::new(0), - initial_syncs_sent: AtomicUsize::new(0), logger, } } @@ -580,8 +575,7 @@ impl PeerManager where peer.their_node_id = Some(their_node_id); insert_node_id!(); let mut features = InitFeatures::supported(); - if self.initial_syncs_sent.load(Ordering::Acquire) < INITIAL_SYNCS_TO_SEND { - self.initial_syncs_sent.fetch_add(1, Ordering::AcqRel); + if self.message_handler.route_handler.should_request_full_sync(&peer.their_node_id.unwrap()) { features.set_initial_routing_sync(); } @@ -652,8 +646,7 @@ impl PeerManager where if !peer.outbound { let mut features = InitFeatures::supported(); - if self.initial_syncs_sent.load(Ordering::Acquire) < INITIAL_SYNCS_TO_SEND { - self.initial_syncs_sent.fetch_add(1, Ordering::AcqRel); + if self.message_handler.route_handler.should_request_full_sync(&peer.their_node_id.unwrap()) { features.set_initial_routing_sync(); }