Skip to content

Commit f530388

Browse files
committed
feat: replace HashMap with BTreeMap for relays and rendezvous
1 parent 24c5e69 commit f530388

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

examples/chat/src/network.rs

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
use std::collections::hash_map::{self, HashMap};
2+
use std::collections::BTreeMap;
23
use std::time::Duration;
34

45
use libp2p::futures::prelude::*;
@@ -37,7 +38,7 @@ pub async fn run(
3738
relay_addresses: Vec<Multiaddr>,
3839
rendezvous_addresses: Vec<Multiaddr>,
3940
) -> eyre::Result<(NetworkClient, mpsc::Receiver<types::NetworkEvent>)> {
40-
let mut rendezvous = HashMap::new();
41+
let mut rendezvous = BTreeMap::new();
4142
for address in &rendezvous_addresses {
4243
let entry = match peek_peer_id(&address) {
4344
Ok(peer_id) => (peer_id, RendezvousEntry::new(address.clone())),
@@ -48,7 +49,7 @@ pub async fn run(
4849
rendezvous.insert(entry.0, entry.1);
4950
}
5051

51-
let mut relays = HashMap::new();
52+
let mut relays = BTreeMap::new();
5253
for address in &relay_addresses {
5354
let entry = match peek_peer_id(&address) {
5455
Ok(peer_id) => (peer_id, RelayEntry::new(address.clone())),
@@ -105,9 +106,9 @@ async fn run_init_dial(
105106

106107
async fn init(
107108
keypair: identity::Keypair,
108-
relays: HashMap<PeerId, RelayEntry>,
109+
relays: BTreeMap<PeerId, RelayEntry>,
109110
rendezvous_namespace: rendezvous::Namespace,
110-
rendezvous: HashMap<PeerId, RendezvousEntry>,
111+
rendezvous: BTreeMap<PeerId, RendezvousEntry>,
111112
) -> eyre::Result<(
112113
NetworkClient,
113114
mpsc::Receiver<types::NetworkEvent>,
@@ -166,9 +167,9 @@ pub(crate) struct EventLoop {
166167
swarm: Swarm<Behaviour>,
167168
command_receiver: mpsc::Receiver<Command>,
168169
event_sender: mpsc::Sender<types::NetworkEvent>,
169-
relays: HashMap<PeerId, RelayEntry>,
170+
relays: BTreeMap<PeerId, RelayEntry>,
170171
rendezvous_namespace: rendezvous::Namespace,
171-
rendezvous: HashMap<PeerId, RendezvousEntry>,
172+
rendezvous: BTreeMap<PeerId, RendezvousEntry>,
172173
pending_dial: HashMap<PeerId, oneshot::Sender<eyre::Result<Option<()>>>>,
173174
}
174175

@@ -231,9 +232,9 @@ impl EventLoop {
231232
swarm: Swarm<Behaviour>,
232233
command_receiver: mpsc::Receiver<Command>,
233234
event_sender: mpsc::Sender<types::NetworkEvent>,
234-
relays: HashMap<PeerId, RelayEntry>,
235+
relays: BTreeMap<PeerId, RelayEntry>,
235236
rendezvous_namespace: rendezvous::Namespace,
236-
rendezvous: HashMap<PeerId, RendezvousEntry>,
237+
rendezvous: BTreeMap<PeerId, RendezvousEntry>,
237238
) -> Self {
238239
Self {
239240
swarm,

0 commit comments

Comments
 (0)