Skip to content

Commit e35648e

Browse files
committed
Fix known addresses when sending group invites
1 parent e09be2a commit e35648e

File tree

5 files changed

+22
-29
lines changed

5 files changed

+22
-29
lines changed

monad-peer-discovery/src/discovery.rs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,17 +1471,15 @@ where
14711471
.collect()
14721472
}
14731473

1474-
fn get_secondary_fullnode_addrs(
1475-
&self,
1476-
) -> HashMap<NodeId<CertificateSignaturePubKey<ST>>, SocketAddrV4> {
1474+
fn get_secondary_fullnodes(&self) -> Vec<NodeId<CertificateSignaturePubKey<ST>>> {
14771475
self.routing_info
1478-
.iter()
1479-
.filter(|(id, _)| {
1476+
.keys()
1477+
.filter(|id| {
14801478
self.participation_info
14811479
.get(id)
14821480
.is_some_and(|p| p.status == SecondaryRaptorcastConnectionStatus::Connected)
14831481
})
1484-
.map(|(id, name_record)| (*id, name_record.address()))
1482+
.copied()
14851483
.collect()
14861484
}
14871485

@@ -2247,7 +2245,7 @@ mod tests {
22472245
state.self_role = PeerDiscoveryRole::ValidatorNone;
22482246
let cmds = state.handle_full_node_raptorcast_request(peer1_pubkey);
22492247
assert_eq!(cmds.len(), 0);
2250-
assert_eq!(state.get_secondary_fullnode_addrs(), HashMap::new());
2248+
assert_eq!(state.get_secondary_fullnodes(), Vec::new());
22512249

22522250
// after receiving a full node raptorcast request from peer1,
22532251
// it should mark it as connected
@@ -2263,10 +2261,7 @@ mod tests {
22632261
target: _,
22642262
message: PeerDiscoveryMessage::FullNodeRaptorcastResponse
22652263
}));
2266-
assert_eq!(
2267-
state.get_secondary_fullnode_addrs(),
2268-
HashMap::from([(peer1_pubkey, generate_name_record(peer1, 0).address())])
2269-
);
2264+
assert_eq!(state.get_secondary_fullnodes(), Vec::from([peer1_pubkey]));
22702265
}
22712266

22722267
#[test]

monad-peer-discovery/src/driver.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -291,14 +291,10 @@ impl<PD: PeerDiscoveryAlgo> PeerDiscoveryDriver<PD> {
291291
.collect()
292292
}
293293

294-
pub fn get_secondary_fullnode_addrs(
294+
pub fn get_secondary_fullnodes(
295295
&self,
296-
) -> HashMap<NodeId<CertificateSignaturePubKey<PD::SignatureType>>, SocketAddr> {
297-
self.pd
298-
.get_secondary_fullnode_addrs()
299-
.into_iter()
300-
.map(|(k, v)| (k, SocketAddr::V4(v)))
301-
.collect()
296+
) -> Vec<NodeId<CertificateSignaturePubKey<PD::SignatureType>>> {
297+
self.pd.get_secondary_fullnodes()
302298
}
303299

304300
pub fn get_name_records(

monad-peer-discovery/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -330,9 +330,9 @@ pub trait PeerDiscoveryAlgo {
330330
&self,
331331
) -> HashMap<NodeId<CertificateSignaturePubKey<Self::SignatureType>>, SocketAddrV4>;
332332

333-
fn get_secondary_fullnode_addrs(
333+
fn get_secondary_fullnodes(
334334
&self,
335-
) -> HashMap<NodeId<CertificateSignaturePubKey<Self::SignatureType>>, SocketAddrV4>;
335+
) -> Vec<NodeId<CertificateSignaturePubKey<Self::SignatureType>>>;
336336

337337
fn get_name_records(
338338
&self,

monad-peer-discovery/src/mock.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -265,10 +265,8 @@ where
265265
self.known_addresses.clone()
266266
}
267267

268-
fn get_secondary_fullnode_addrs(
269-
&self,
270-
) -> HashMap<NodeId<CertificateSignaturePubKey<ST>>, SocketAddrV4> {
271-
HashMap::new()
268+
fn get_secondary_fullnodes(&self) -> Vec<NodeId<CertificateSignaturePubKey<ST>>> {
269+
Vec::new()
272270
}
273271

274272
fn get_name_records(

monad-raptorcast/src/raptorcast_secondary/mod.rs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -365,13 +365,12 @@ where
365365
.peer_discovery_driver
366366
.lock()
367367
.unwrap()
368-
.get_secondary_fullnode_addrs();
369-
let full_nodes_vec: Vec<_> = full_nodes.keys().copied().collect();
368+
.get_secondary_fullnodes();
370369
trace!(
371370
"RaptorCastSecondary updating {} full nodes from PeerDiscovery",
372-
full_nodes_vec.len()
371+
full_nodes.len()
373372
);
374-
publisher.upsert_peer_disc_full_nodes(FullNodes::new(full_nodes_vec));
373+
publisher.upsert_peer_disc_full_nodes(FullNodes::new(full_nodes));
375374

376375
if let Some((group_msg, full_nodes_set)) =
377376
publisher.enter_round_and_step_until(round)
@@ -390,7 +389,12 @@ where
390389
);
391390
}
392391

393-
self.send_group_msg(group_msg, full_nodes_set, &full_nodes);
392+
let known_addresses = self
393+
.peer_discovery_driver
394+
.lock()
395+
.unwrap()
396+
.get_known_addresses();
397+
self.send_group_msg(group_msg, full_nodes_set, &known_addresses);
394398
}
395399
}
396400
},

0 commit comments

Comments
 (0)