Skip to content

Commit 5e43729

Browse files
committed
Reduce feature = std flags in gossip.rs somewhat
Fewer feature flags makes for more readable code, so we opt for that over very marginally more effecient code here.
1 parent 1731fa6 commit 5e43729

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

lightning/src/routing/gossip.rs

+12-16
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,6 @@ where U::Target: UtxoLookup, L::Target: Logger
309309
{
310310
network_graph: G,
311311
utxo_lookup: RwLock<Option<U>>,
312-
#[cfg(feature = "std")]
313312
full_syncs_requested: AtomicUsize,
314313
pending_events: Mutex<Vec<MessageSendEvent>>,
315314
logger: L,
@@ -325,7 +324,6 @@ where U::Target: UtxoLookup, L::Target: Logger
325324
pub fn new(network_graph: G, utxo_lookup: Option<U>, logger: L) -> Self {
326325
P2PGossipSync {
327326
network_graph,
328-
#[cfg(feature = "std")]
329327
full_syncs_requested: AtomicUsize::new(0),
330328
utxo_lookup: RwLock::new(utxo_lookup),
331329
pending_events: Mutex::new(vec![]),
@@ -348,10 +346,8 @@ where U::Target: UtxoLookup, L::Target: Logger
348346
&self.network_graph
349347
}
350348

351-
#[cfg(feature = "std")]
352349
/// Returns true when a full routing table sync should be performed with a peer.
353-
fn should_request_full_sync(&self, _node_id: &PublicKey) -> bool {
354-
//TODO: Determine whether to request a full sync based on the network map.
350+
fn should_request_full_sync(&self) -> bool {
355351
const FULL_SYNCS_TO_REQUEST: usize = 5;
356352
if self.full_syncs_requested.load(Ordering::Acquire) < FULL_SYNCS_TO_REQUEST {
357353
self.full_syncs_requested.fetch_add(1, Ordering::AcqRel);
@@ -619,10 +615,12 @@ where U::Target: UtxoLookup, L::Target: Logger
619615
// For no-std builds, we bury our head in the sand and do a full sync on each connection.
620616
#[allow(unused_mut, unused_assignments)]
621617
let mut gossip_start_time = 0;
618+
#[allow(unused)]
619+
let should_sync = self.should_request_full_sync();
622620
#[cfg(feature = "std")]
623621
{
624622
gossip_start_time = SystemTime::now().duration_since(UNIX_EPOCH).expect("Time must be > 1970").as_secs();
625-
if self.should_request_full_sync(&their_node_id) {
623+
if should_sync {
626624
gossip_start_time -= 60 * 60 * 24 * 7 * 2; // 2 weeks ago
627625
} else {
628626
gossip_start_time -= 60 * 60; // an hour ago
@@ -2452,18 +2450,16 @@ pub(crate) mod tests {
24522450
}
24532451

24542452
#[test]
2455-
#[cfg(feature = "std")]
24562453
fn request_full_sync_finite_times() {
24572454
let network_graph = create_network_graph();
2458-
let (secp_ctx, gossip_sync) = create_gossip_sync(&network_graph);
2459-
let node_id = PublicKey::from_secret_key(&secp_ctx, &SecretKey::from_slice(&<Vec<u8>>::from_hex("0202020202020202020202020202020202020202020202020202020202020202").unwrap()[..]).unwrap());
2460-
2461-
assert!(gossip_sync.should_request_full_sync(&node_id));
2462-
assert!(gossip_sync.should_request_full_sync(&node_id));
2463-
assert!(gossip_sync.should_request_full_sync(&node_id));
2464-
assert!(gossip_sync.should_request_full_sync(&node_id));
2465-
assert!(gossip_sync.should_request_full_sync(&node_id));
2466-
assert!(!gossip_sync.should_request_full_sync(&node_id));
2455+
let (_, gossip_sync) = create_gossip_sync(&network_graph);
2456+
2457+
assert!(gossip_sync.should_request_full_sync());
2458+
assert!(gossip_sync.should_request_full_sync());
2459+
assert!(gossip_sync.should_request_full_sync());
2460+
assert!(gossip_sync.should_request_full_sync());
2461+
assert!(gossip_sync.should_request_full_sync());
2462+
assert!(!gossip_sync.should_request_full_sync());
24672463
}
24682464

24692465
pub(crate) fn get_signed_node_announcement<F: Fn(&mut UnsignedNodeAnnouncement)>(f: F, node_key: &SecretKey, secp_ctx: &Secp256k1<secp256k1::All>) -> NodeAnnouncement {

0 commit comments

Comments
 (0)