use client ports

This commit is contained in:
Anatoly Yakovenko
2018-05-23 15:20:38 -07:00
committed by Greg Fitzgerald
parent ae47e34fa5
commit 82ac8eb731

View File

@ -108,7 +108,7 @@ fn main() {
eprintln!("failed to parse json: {}", e); eprintln!("failed to parse json: {}", e);
exit(1); exit(1);
}); });
let mut client = mk_client(&client_addr, &leader); let mut client = mk_client(&mut client_addr, &leader);
println!("Get last ID..."); println!("Get last ID...");
let last_id = client.get_last_id().wait().unwrap(); let last_id = client.get_last_id().wait().unwrap();
@ -146,7 +146,7 @@ fn main() {
let chunks: Vec<_> = transactions.chunks(sz).collect(); let chunks: Vec<_> = transactions.chunks(sz).collect();
chunks.into_par_iter().for_each(|trs| { chunks.into_par_iter().for_each(|trs| {
println!("Transferring 1 unit {} times... to", trs.len()); println!("Transferring 1 unit {} times... to", trs.len());
let client = mk_client(&client_addr, &leader); let client = mk_client(&mut client_addr, &leader);
for tr in trs { for tr in trs {
client.transfer_signed(tr.clone()).unwrap(); client.transfer_signed(tr.clone()).unwrap();
} }
@ -168,7 +168,7 @@ fn main() {
} }
for val in validators { for val in validators {
println!("Checking balance on {} ...", val.events_addr); println!("Checking balance on {} ...", val.events_addr);
let mut client = mk_client(&client_addr, &val); let mut client = mk_client(&mut client_addr, &val);
let mut tx_count = client.transaction_count(); let mut tx_count = client.transaction_count();
duration = now.elapsed(); duration = now.elapsed();
let txs = tx_count - initial_tx_count; let txs = tx_count - initial_tx_count;
@ -183,14 +183,14 @@ fn main() {
} }
} }
fn mk_client(client_addr: &SocketAddr, r: &ReplicatedData) -> ThinClient { fn mk_client(client_addr: &mut SocketAddr, r: &ReplicatedData) -> ThinClient {
let mut c = client_addr.clone(); let port = client_addr.port():
c.set_port(0); let c = client_addr.clone();
let events_socket = UdpSocket::bind(c).unwrap(); let events_socket = UdpSocket::bind(c).unwrap();
let mut addr = events_socket.local_addr().unwrap(); let mut addr = events_socket.local_addr().unwrap();
let port = addr.port();
addr.set_port(port + 1); addr.set_port(port + 1);
let requests_socket = UdpSocket::bind(addr).unwrap(); let requests_socket = UdpSocket::bind(addr).unwrap();
client_addr.set_port(port + 2);
ThinClient::new( ThinClient::new(
r.requests_addr, r.requests_addr,
requests_socket, requests_socket,
@ -216,6 +216,7 @@ fn converge(
num_nodes: usize, num_nodes: usize,
threads: &mut Vec<JoinHandle<()>>, threads: &mut Vec<JoinHandle<()>>,
) -> Vec<ReplicatedData> { ) -> Vec<ReplicatedData> {
let daddr = "0.0.0.0:0".parse().unwrap();
//lets spy on the network //lets spy on the network
let daddr = "0.0.0.0:0".parse().unwrap(); let daddr = "0.0.0.0:0".parse().unwrap();
let (spy, spy_gossip) = spy_node(client_addr); let (spy, spy_gossip) = spy_node(client_addr);