zola/components/utils/src/net.rs

15 lines
290 B
Rust
Raw Normal View History

2018-05-11 11:54:16 +00:00
use std::net::TcpListener;
pub fn get_available_port() -> Option<u16> {
(1000..9000)
.find(|port| port_is_available(*port))
}
fn port_is_available(port: u16) -> bool {
match TcpListener::bind(("127.0.0.1", port)) {
Ok(_) => true,
Err(_) => false,
}
}