Skip to content

Commit 0f83b86

Browse files
committed
Rollback unnecessary changes in localhost.rs
1 parent ded5a8c commit 0f83b86

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

src/test_utils/localhost.rs

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,6 @@ use tokio::net::TcpListener;
1717
use tonic::transport::{Channel, Server};
1818
use url::Url;
1919

20-
pub fn get_free_ports(n: usize) -> Vec<u16> {
21-
let listeners = (0..n)
22-
.map(|_| std::net::TcpListener::bind("127.0.0.1:0"))
23-
.collect::<Result<Vec<_>, _>>()
24-
.expect("Failed to bind to address");
25-
listeners
26-
.iter()
27-
.map(|listener| listener.local_addr().unwrap().port())
28-
.collect()
29-
}
30-
3120
pub async fn start_localhost_context<B>(
3221
num_workers: usize,
3322
session_builder: B,
@@ -36,7 +25,23 @@ where
3625
B: DistributedSessionBuilder + Send + Sync + 'static,
3726
B: Clone,
3827
{
39-
let ports = get_free_ports(num_workers);
28+
let listeners = futures::future::try_join_all(
29+
(0..num_workers)
30+
.map(|_| TcpListener::bind("127.0.0.1:0"))
31+
.collect::<Vec<_>>(),
32+
)
33+
.await
34+
.expect("Failed to bind to address");
35+
36+
let ports: Vec<u16> = listeners
37+
.iter()
38+
.map(|listener| {
39+
listener
40+
.local_addr()
41+
.expect("Failed to get local address")
42+
.port()
43+
})
44+
.collect();
4045

4146
let channel_resolver = LocalHostChannelResolver::new(ports.clone());
4247
let session_builder = session_builder.map(move |builder: SessionStateBuilder| {
@@ -46,11 +51,8 @@ where
4651
.build())
4752
});
4853
let mut join_set = JoinSet::new();
49-
for port in ports {
54+
for listener in listeners {
5055
let session_builder = session_builder.clone();
51-
let listener = TcpListener::bind(format!("127.0.0.1:{port}"))
52-
.await
53-
.unwrap();
5456
join_set.spawn(async move {
5557
spawn_flight_service(session_builder, listener)
5658
.await

0 commit comments

Comments
 (0)