Skip to content

Commit

Permalink
jd-client: allow to specify hostname for jds and tproxy
Browse files Browse the repository at this point in the history
  • Loading branch information
nikicat committed Apr 19, 2024
1 parent a89525a commit 14c10f2
Showing 1 changed file with 26 additions and 13 deletions.
39 changes: 26 additions & 13 deletions roles/jd-client/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,10 @@ use async_channel::{bounded, unbounded};
use futures::{select, FutureExt};
use roles_logic_sv2::utils::Mutex;
use std::{
net::{IpAddr, SocketAddr},
net::{IpAddr, SocketAddr, ToSocketAddrs},
str::FromStr,
sync::Arc,
time::Duration,
net::ToSocketAddrs,
};
use tokio::task::AbortHandle;

Expand Down Expand Up @@ -268,9 +267,17 @@ async fn initialize_jd(
.unwrap_or(false);

// Format `Upstream` connection address
let upstream_addr = upstream_config.pool_address.to_socket_addrs()
.unwrap_or_else(|_| panic!("Invalid pool address {}", upstream_config.pool_address))
.next().unwrap();
let upstream_addr = upstream_config
.pool_address
.to_socket_addrs()
.unwrap_or_else(|e| {
panic!(
"Invalid pool address {}: {}",
upstream_config.pool_address, e
)
})
.next()
.unwrap();

// When Downstream receive a share that meets bitcoin target it transformit in a
// SubmitSolution and send it to the TemplateReceiver
Expand Down Expand Up @@ -322,15 +329,21 @@ async fn initialize_jd(
);

// Initialize JD part
let mut parts = proxy_config.tp_address.split(':');
let ip_tp = parts.next().unwrap().to_string();
let port_tp = parts.next().unwrap().parse::<u16>().unwrap();
let tp_addr = proxy_config
.tp_address
.to_socket_addrs()
.unwrap_or_else(|e| panic!("Invalid tproxy address {}: {}", proxy_config.tp_address, e))
.next()
.unwrap();

let mut parts = upstream_config.jd_address.split(':');
let ip_jd = parts.next().unwrap().to_string();
let port_jd = parts.next().unwrap().parse::<u16>().unwrap();
let jd_addr = upstream_config
.jd_address
.to_socket_addrs()
.unwrap_or_else(|e| panic!("Invalid jds address {}: {}", upstream_config.jd_address, e))
.next()
.unwrap();
let jd = match JobDeclarator::new(
SocketAddr::new(IpAddr::from_str(ip_jd.as_str()).unwrap(), port_jd),
jd_addr,
upstream_config.authority_pubkey.into_bytes(),
proxy_config.clone(),
upstream.clone(),
Expand Down Expand Up @@ -367,7 +380,7 @@ async fn initialize_jd(
.unwrap();

TemplateRx::connect(
SocketAddr::new(IpAddr::from_str(ip_tp.as_str()).unwrap(), port_tp),
tp_addr,
recv_solution,
status::Sender::TemplateReceiver(tx_status.clone()),
Some(jd.clone()),
Expand Down

0 comments on commit 14c10f2

Please sign in to comment.