Merge pull request #3003 from evoe/feat-beacon-connect-use-env-vars
Closes #3003.
This commit is contained in:
commit
07c6234c0e
2 changed files with 18 additions and 5 deletions
|
|
@ -15,8 +15,6 @@ use std::sync::Arc;
|
|||
use std::sync::atomic::{self, AtomicBool};
|
||||
use std::thread;
|
||||
|
||||
pub const SERVER_ADDRESS: &str = "127.0.0.1:9167";
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct Client {
|
||||
sender: mpsc::Sender<Action>,
|
||||
|
|
@ -222,9 +220,22 @@ async fn run(
|
|||
}
|
||||
}
|
||||
|
||||
/// Returns the address of the beacon server in this environment.
|
||||
///
|
||||
/// The value of the `ICED_BEACON_SERVER_ADDRESS` env variable will
|
||||
/// be returned, if defined.
|
||||
///
|
||||
/// Otherwise, a default local server address will be returned.
|
||||
pub fn server_address_from_env() -> String {
|
||||
const DEFAULT_ADDRESS: &str = "127.0.0.1:9167";
|
||||
|
||||
std::env::var("ICED_BEACON_SERVER_ADDRESS")
|
||||
.unwrap_or_else(|_| String::from(DEFAULT_ADDRESS))
|
||||
}
|
||||
|
||||
async fn _connect() -> Result<net::TcpStream, io::Error> {
|
||||
log::debug!("Attempting to connect to server...");
|
||||
let stream = net::TcpStream::connect(SERVER_ADDRESS).await?;
|
||||
let stream = net::TcpStream::connect(server_address_from_env()).await?;
|
||||
|
||||
stream.set_nodelay(true)?;
|
||||
stream.writable().await?;
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ impl Event {
|
|||
}
|
||||
|
||||
pub fn is_running() -> bool {
|
||||
std::net::TcpListener::bind(client::SERVER_ADDRESS).is_err()
|
||||
std::net::TcpListener::bind(client::server_address_from_env()).is_err()
|
||||
}
|
||||
|
||||
pub fn run() -> impl Stream<Item = Event> {
|
||||
|
|
@ -99,7 +99,9 @@ pub fn run() -> impl Stream<Item = Event> {
|
|||
let mut buffer = Vec::new();
|
||||
|
||||
let server = loop {
|
||||
match net::TcpListener::bind(client::SERVER_ADDRESS).await {
|
||||
match net::TcpListener::bind(client::server_address_from_env())
|
||||
.await
|
||||
{
|
||||
Ok(server) => break server,
|
||||
Err(error) => {
|
||||
if error.kind() == io::ErrorKind::AddrInUse {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue