renamed to contact_info

This commit is contained in:
Anatoly Yakovenko 2018-07-09 17:55:11 -07:00 committed by Greg Fitzgerald
parent 97dd1834d7
commit 63985d4595
10 changed files with 95 additions and 95 deletions

View File

@ -51,20 +51,17 @@ fn sample_tx_count(
now = Instant::now(); now = Instant::now();
let sample = tx_count - initial_tx_count; let sample = tx_count - initial_tx_count;
initial_tx_count = tx_count; initial_tx_count = tx_count;
println!( println!("{}: Transactions processed {}", v.contact_info.tpu, sample);
"{}: Transactions processed {}",
v.addrs.transactions, sample
);
let ns = duration.as_secs() * 1_000_000_000 + u64::from(duration.subsec_nanos()); let ns = duration.as_secs() * 1_000_000_000 + u64::from(duration.subsec_nanos());
let tps = (sample * 1_000_000_000) as f64 / ns as f64; let tps = (sample * 1_000_000_000) as f64 / ns as f64;
if tps > max_tps { if tps > max_tps {
max_tps = tps; max_tps = tps;
} }
println!("{}: {:.2} tps", v.addrs.transactions, tps); println!("{}: {:.2} tps", v.contact_info.tpu, tps);
total = tx_count - first_count; total = tx_count - first_count;
println!( println!(
"{}: Total Transactions processed {}", "{}: Total Transactions processed {}",
v.addrs.transactions, total v.contact_info.tpu, total
); );
sleep(Duration::new(sample_period, 0)); sleep(Duration::new(sample_period, 0));
@ -116,7 +113,7 @@ fn generate_and_send_txs(
println!( println!(
"Transferring 1 unit {} times... to {:?}", "Transferring 1 unit {} times... to {:?}",
txs.len(), txs.len(),
leader.addrs.transactions leader.contact_info.tpu
); );
for tx in txs { for tx in txs {
client.transfer_signed(tx.clone()).unwrap(); client.transfer_signed(tx.clone()).unwrap();
@ -215,7 +212,7 @@ fn main() {
time_sec = s.to_string().parse().expect("integer"); time_sec = s.to_string().parse().expect("integer");
} }
let mut drone_addr = leader.addrs.transactions.clone(); let mut drone_addr = leader.contact_info.tpu.clone();
drone_addr.set_port(9900); drone_addr.set_port(9900);
let signal = Arc::new(AtomicBool::new(false)); let signal = Arc::new(AtomicBool::new(false));
@ -330,9 +327,9 @@ fn mk_client(r: &ReplicatedData) -> ThinClient {
.unwrap(); .unwrap();
ThinClient::new( ThinClient::new(
r.addrs.requests, r.contact_info.rpu,
requests_socket, requests_socket,
r.addrs.transactions, r.contact_info.tpu,
transactions_socket, transactions_socket,
) )
} }
@ -384,7 +381,7 @@ fn converge(
.table .table
.values() .values()
.into_iter() .into_iter()
.filter(|x| x.addrs.requests != daddr) .filter(|x| x.contact_info.rpu != daddr)
.cloned() .cloned()
.collect(); .collect();
if v.len() >= num_nodes { if v.len() >= num_nodes {

View File

@ -94,8 +94,8 @@ fn main() {
let drone = Arc::new(Mutex::new(Drone::new( let drone = Arc::new(Mutex::new(Drone::new(
mint_keypair, mint_keypair,
drone_addr, drone_addr,
leader.addrs.transactions, leader.contact_info.tpu,
leader.addrs.requests, leader.contact_info.rpu,
time_slice, time_slice,
request_cap, request_cap,
))); )));

View File

@ -156,7 +156,7 @@ fn parse_args() -> Result<WalletConfig, Box<error::Error>> {
exit(1); exit(1);
}; };
let mut drone_addr = leader.addrs.transactions.clone(); let mut drone_addr = leader.contact_info.tpu.clone();
drone_addr.set_port(9900); drone_addr.set_port(9900);
let command = match matches.subcommand() { let command = match matches.subcommand() {
@ -305,9 +305,9 @@ fn mk_client(r: &ReplicatedData) -> io::Result<ThinClient> {
.unwrap(); .unwrap();
Ok(ThinClient::new( Ok(ThinClient::new(
r.addrs.requests, r.contact_info.rpu,
requests_socket, requests_socket,
r.addrs.transactions, r.contact_info.tpu,
transactions_socket, transactions_socket,
)) ))
} }

View File

@ -91,18 +91,18 @@ pub fn get_ip_addr() -> Option<IpAddr> {
/// Structure to be replicated by the network /// Structure to be replicated by the network
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct Addrs { pub struct ContactInfo {
/// gossip address /// gossip address
pub gossip: SocketAddr, pub ncp: SocketAddr,
/// address to connect to for replication /// address to connect to for replication
pub replicate: SocketAddr, pub tvu: SocketAddr,
/// address to connect to when this node is leader /// address to connect to when this node is leader
pub requests: SocketAddr, pub rpu: SocketAddr,
/// transactions address /// transactions address
pub transactions: SocketAddr, pub tpu: SocketAddr,
/// repair address, we use this to jump ahead of the packets /// repair address, we use this to jump ahead of the packets
/// destined to the replciate_addr /// destined to the replciate_addr
pub repair: SocketAddr, pub tvu_window: SocketAddr,
/// if this struture changes update this value as well /// if this struture changes update this value as well
/// Always update `ReplicatedData` version too /// Always update `ReplicatedData` version too
/// This separate version for addresses allows us to use the `Vote` /// This separate version for addresses allows us to use the `Vote`
@ -117,7 +117,7 @@ pub struct ReplicatedData {
/// If any of the bits change, update increment this value /// If any of the bits change, update increment this value
pub version: u64, pub version: u64,
/// network addresses /// network addresses
pub addrs: Addrs, pub contact_info: ContactInfo,
/// current leader identity /// current leader identity
pub current_leader_id: PublicKey, pub current_leader_id: PublicKey,
/// last verified hash that was submitted to the leader /// last verified hash that was submitted to the leader
@ -135,21 +135,21 @@ fn make_debug_id(buf: &[u8]) -> u64 {
impl ReplicatedData { impl ReplicatedData {
pub fn new( pub fn new(
id: PublicKey, id: PublicKey,
gossip: SocketAddr, ncp: SocketAddr,
replicate: SocketAddr, tvu: SocketAddr,
requests: SocketAddr, rpu: SocketAddr,
transactions: SocketAddr, tpu: SocketAddr,
repair: SocketAddr, tvu_window: SocketAddr,
) -> ReplicatedData { ) -> ReplicatedData {
ReplicatedData { ReplicatedData {
id, id,
version: 0, version: 0,
addrs: Addrs { contact_info: ContactInfo {
gossip, ncp,
replicate, tvu,
requests, rpu,
transactions, tpu,
repair, tvu_window,
version: 0, version: 0,
}, },
current_leader_id: PublicKey::default(), current_leader_id: PublicKey::default(),
@ -415,7 +415,7 @@ impl Crdt {
if me.id == v.id { if me.id == v.id {
//filter myself //filter myself
false false
} else if v.addrs.replicate == daddr { } else if v.contact_info.tvu == daddr {
trace!( trace!(
"{:x}:broadcast skip not listening {:x}", "{:x}:broadcast skip not listening {:x}",
me.debug_id(), me.debug_id(),
@ -427,7 +427,7 @@ impl Crdt {
"{:x}:broadcast node {:x} {}", "{:x}:broadcast node {:x} {}",
me.debug_id(), me.debug_id(),
v.debug_id(), v.debug_id(),
v.addrs.replicate v.contact_info.tvu
); );
true true
} }
@ -482,17 +482,17 @@ impl Crdt {
blob.get_index().unwrap(), blob.get_index().unwrap(),
blob.meta.size, blob.meta.size,
v.debug_id(), v.debug_id(),
v.addrs.replicate, v.contact_info.tvu,
blob.is_coding() blob.is_coding()
); );
assert!(blob.meta.size < BLOB_SIZE); assert!(blob.meta.size < BLOB_SIZE);
let e = s.send_to(&blob.data[..blob.meta.size], &v.addrs.replicate); let e = s.send_to(&blob.data[..blob.meta.size], &v.contact_info.tvu);
trace!( trace!(
"{:x}: done broadcast {} to {:x} {}", "{:x}: done broadcast {} to {:x} {}",
me.debug_id(), me.debug_id(),
blob.meta.size, blob.meta.size,
v.debug_id(), v.debug_id(),
v.addrs.replicate v.contact_info.tvu
); );
e e
}) })
@ -531,7 +531,7 @@ impl Crdt {
} else if me.current_leader_id == v.id { } else if me.current_leader_id == v.id {
trace!("skip retransmit to leader {:?}", v.id); trace!("skip retransmit to leader {:?}", v.id);
false false
} else if v.addrs.replicate == daddr { } else if v.contact_info.tvu == daddr {
trace!("skip nodes that are not listening {:?}", v.id); trace!("skip nodes that are not listening {:?}", v.id);
false false
} else { } else {
@ -551,7 +551,7 @@ impl Crdt {
); );
//TODO profile this, may need multiple sockets for par_iter //TODO profile this, may need multiple sockets for par_iter
assert!(rblob.meta.size < BLOB_SIZE); assert!(rblob.meta.size < BLOB_SIZE);
s.send_to(&rblob.data[..rblob.meta.size], &v.addrs.replicate) s.send_to(&rblob.data[..rblob.meta.size], &v.contact_info.tvu)
}) })
.collect(); .collect();
for e in errs { for e in errs {
@ -594,13 +594,13 @@ impl Crdt {
let daddr = "0.0.0.0:0".parse().unwrap(); let daddr = "0.0.0.0:0".parse().unwrap();
let valid: Vec<_> = self.table let valid: Vec<_> = self.table
.values() .values()
.filter(|r| r.id != self.me && r.addrs.repair != daddr) .filter(|r| r.id != self.me && r.contact_info.tvu_window != daddr)
.collect(); .collect();
if valid.is_empty() { if valid.is_empty() {
Err(CrdtError::TooSmall)?; Err(CrdtError::TooSmall)?;
} }
let n = (Self::random() as usize) % valid.len(); let n = (Self::random() as usize) % valid.len();
let addr = valid[n].addrs.gossip.clone(); let addr = valid[n].contact_info.ncp.clone();
let req = Protocol::RequestWindowIndex(self.table[&self.me].clone(), ix); let req = Protocol::RequestWindowIndex(self.table[&self.me].clone(), ix);
let out = serialize(&req)?; let out = serialize(&req)?;
Ok((addr, out)) Ok((addr, out))
@ -637,10 +637,10 @@ impl Crdt {
"created gossip request from {:x} to {:x} {}", "created gossip request from {:x} to {:x} {}",
self.debug_id(), self.debug_id(),
v.debug_id(), v.debug_id(),
v.addrs.gossip v.contact_info.ncp
); );
Ok((v.addrs.gossip, req)) Ok((v.contact_info.ncp, req))
} }
/// At random pick a node and try to get updated changes from them /// At random pick a node and try to get updated changes from them
@ -809,7 +809,7 @@ impl Crdt {
let sz = wblob.meta.size; let sz = wblob.meta.size;
outblob.meta.size = sz; outblob.meta.size = sz;
outblob.data[..sz].copy_from_slice(&wblob.data[..sz]); outblob.data[..sz].copy_from_slice(&wblob.data[..sz]);
outblob.meta.set_addr(&from.addrs.repair); outblob.meta.set_addr(&from.contact_info.tvu_window);
outblob.set_id(sender_id).expect("blob set_id"); outblob.set_id(sender_id).expect("blob set_id");
} }
@ -845,7 +845,7 @@ impl Crdt {
// TODO sigverify these // TODO sigverify these
Ok(Protocol::RequestUpdates(v, from_rd)) => { Ok(Protocol::RequestUpdates(v, from_rd)) => {
trace!("RequestUpdates {}", v); trace!("RequestUpdates {}", v);
let addr = from_rd.addrs.gossip; let addr = from_rd.contact_info.ncp;
let me = obj.read().unwrap(); let me = obj.read().unwrap();
// only lock for these two calls, dont lock during IO `sock.send_to` or `sock.recv_from` // only lock for these two calls, dont lock during IO `sock.send_to` or `sock.recv_from`
let (from, ups, data) = me.get_updates_since(v); let (from, ups, data) = me.get_updates_since(v);
@ -905,7 +905,7 @@ impl Crdt {
from.debug_id(), from.debug_id(),
ix, ix,
); );
assert_ne!(from.addrs.repair, me.addrs.repair); assert_ne!(from.contact_info.tvu_window, me.contact_info.tvu_window);
Self::run_window_request(&window, &me, &from, ix, blob_recycler) Self::run_window_request(&window, &me, &from, ix, blob_recycler)
} }
Err(_) => { Err(_) => {
@ -1029,19 +1029,19 @@ impl TestNode {
} }
pub fn new_with_bind_addr(data: ReplicatedData, bind_addr: SocketAddr) -> TestNode { pub fn new_with_bind_addr(data: ReplicatedData, bind_addr: SocketAddr) -> TestNode {
let mut local_gossip_addr = bind_addr.clone(); let mut local_gossip_addr = bind_addr.clone();
local_gossip_addr.set_port(data.addrs.gossip.port()); local_gossip_addr.set_port(data.contact_info.ncp.port());
let mut local_replicate_addr = bind_addr.clone(); let mut local_replicate_addr = bind_addr.clone();
local_replicate_addr.set_port(data.addrs.replicate.port()); local_replicate_addr.set_port(data.contact_info.tvu.port());
let mut local_requests_addr = bind_addr.clone(); let mut local_requests_addr = bind_addr.clone();
local_requests_addr.set_port(data.addrs.requests.port()); local_requests_addr.set_port(data.contact_info.rpu.port());
let mut local_transactions_addr = bind_addr.clone(); let mut local_transactions_addr = bind_addr.clone();
local_transactions_addr.set_port(data.addrs.transactions.port()); local_transactions_addr.set_port(data.contact_info.tpu.port());
let mut local_repair_addr = bind_addr.clone(); let mut local_repair_addr = bind_addr.clone();
local_repair_addr.set_port(data.addrs.repair.port()); local_repair_addr.set_port(data.contact_info.tvu_window.port());
let transaction = UdpSocket::bind(local_transactions_addr).unwrap(); let transaction = UdpSocket::bind(local_transactions_addr).unwrap();
let gossip = UdpSocket::bind(local_gossip_addr).unwrap(); let gossip = UdpSocket::bind(local_gossip_addr).unwrap();
@ -1133,11 +1133,14 @@ mod tests {
&"127.0.0.1:1234".parse().unwrap(), &"127.0.0.1:1234".parse().unwrap(),
); );
assert_eq!(d1.id, kp.pubkey()); assert_eq!(d1.id, kp.pubkey());
assert_eq!(d1.addrs.gossip, "127.0.0.1:1235".parse().unwrap()); assert_eq!(d1.contact_info.ncp, "127.0.0.1:1235".parse().unwrap());
assert_eq!(d1.addrs.replicate, "127.0.0.1:1236".parse().unwrap()); assert_eq!(d1.contact_info.tvu, "127.0.0.1:1236".parse().unwrap());
assert_eq!(d1.addrs.requests, "127.0.0.1:1237".parse().unwrap()); assert_eq!(d1.contact_info.rpu, "127.0.0.1:1237".parse().unwrap());
assert_eq!(d1.addrs.transactions, "127.0.0.1:1234".parse().unwrap()); assert_eq!(d1.contact_info.tpu, "127.0.0.1:1234".parse().unwrap());
assert_eq!(d1.addrs.repair, "127.0.0.1:1238".parse().unwrap()); assert_eq!(
d1.contact_info.tvu_window,
"127.0.0.1:1238".parse().unwrap()
);
} }
#[test] #[test]
fn update_test() { fn update_test() {
@ -1232,7 +1235,7 @@ mod tests {
); );
crdt.insert(&nxt); crdt.insert(&nxt);
let rv = crdt.window_index_request(0).unwrap(); let rv = crdt.window_index_request(0).unwrap();
assert_eq!(nxt.addrs.gossip, "127.0.0.2:1234".parse().unwrap()); assert_eq!(nxt.contact_info.ncp, "127.0.0.2:1234".parse().unwrap());
assert_eq!(rv.0, "127.0.0.2:1234".parse().unwrap()); assert_eq!(rv.0, "127.0.0.2:1234".parse().unwrap());
let nxt = ReplicatedData::new( let nxt = ReplicatedData::new(
@ -1285,7 +1288,7 @@ mod tests {
crdt.insert(&nxt1); crdt.insert(&nxt1);
let rv = crdt.gossip_request().unwrap(); let rv = crdt.gossip_request().unwrap();
assert_eq!(rv.0, nxt1.addrs.gossip); assert_eq!(rv.0, nxt1.contact_info.ncp);
let nxt2 = ReplicatedData::new_entry_point("127.0.0.3:1234".parse().unwrap()); let nxt2 = ReplicatedData::new_entry_point("127.0.0.3:1234".parse().unwrap());
crdt.insert(&nxt2); crdt.insert(&nxt2);
@ -1306,9 +1309,9 @@ mod tests {
} }
assert!(rv.len() > 0); assert!(rv.len() > 0);
for i in rv.iter() { for i in rv.iter() {
if i.read().unwrap().meta.addr() == nxt1.addrs.gossip { if i.read().unwrap().meta.addr() == nxt1.contact_info.ncp {
one = true; one = true;
} else if i.read().unwrap().meta.addr() == nxt2.addrs.gossip { } else if i.read().unwrap().meta.addr() == nxt2.contact_info.ncp {
two = true; two = true;
} else { } else {
//unexpected request //unexpected request
@ -1335,19 +1338,19 @@ mod tests {
crdt.set_leader(me.id); crdt.set_leader(me.id);
crdt.insert(&nxt); crdt.insert(&nxt);
let rv = crdt.gossip_request().unwrap(); let rv = crdt.gossip_request().unwrap();
assert_eq!(rv.0, nxt.addrs.gossip); assert_eq!(rv.0, nxt.contact_info.ncp);
let now = crdt.alive[&nxt.id]; let now = crdt.alive[&nxt.id];
crdt.purge(now); crdt.purge(now);
let rv = crdt.gossip_request().unwrap(); let rv = crdt.gossip_request().unwrap();
assert_eq!(rv.0, nxt.addrs.gossip); assert_eq!(rv.0, nxt.contact_info.ncp);
crdt.purge(now + GOSSIP_PURGE_MILLIS); crdt.purge(now + GOSSIP_PURGE_MILLIS);
let rv = crdt.gossip_request().unwrap(); let rv = crdt.gossip_request().unwrap();
assert_eq!(rv.0, nxt.addrs.gossip); assert_eq!(rv.0, nxt.contact_info.ncp);
crdt.purge(now + GOSSIP_PURGE_MILLIS + 1); crdt.purge(now + GOSSIP_PURGE_MILLIS + 1);
let rv = crdt.gossip_request().unwrap(); let rv = crdt.gossip_request().unwrap();
assert_eq!(rv.0, nxt.addrs.gossip); assert_eq!(rv.0, nxt.contact_info.ncp);
let nxt2 = ReplicatedData::new_leader(&"127.0.0.2:1234".parse().unwrap()); let nxt2 = ReplicatedData::new_leader(&"127.0.0.2:1234".parse().unwrap());
assert_ne!(me.id, nxt2.id); assert_ne!(me.id, nxt2.id);
@ -1365,7 +1368,7 @@ mod tests {
crdt.purge(now + GOSSIP_PURGE_MILLIS + 1); crdt.purge(now + GOSSIP_PURGE_MILLIS + 1);
assert_eq!(len as usize - 1, crdt.table.len()); assert_eq!(len as usize - 1, crdt.table.len());
let rv = crdt.gossip_request().unwrap(); let rv = crdt.gossip_request().unwrap();
assert_eq!(rv.0, nxt.addrs.gossip); assert_eq!(rv.0, nxt.contact_info.ncp);
} }
/// test window requests respond with the right blob, and do not overrun /// test window requests respond with the right blob, and do not overrun

View File

@ -287,8 +287,8 @@ mod tests {
let mut drone = Drone::new( let mut drone = Drone::new(
alice.keypair(), alice.keypair(),
addr, addr,
leader_data.addrs.transactions, leader_data.contact_info.tpu,
leader_data.addrs.requests, leader_data.contact_info.rpu,
None, None,
Some(150_000), Some(150_000),
); );
@ -312,9 +312,9 @@ mod tests {
UdpSocket::bind("0.0.0.0:0").expect("drone bind to transactions socket"); UdpSocket::bind("0.0.0.0:0").expect("drone bind to transactions socket");
let mut client = ThinClient::new( let mut client = ThinClient::new(
leader_data.addrs.requests, leader_data.contact_info.rpu,
requests_socket, requests_socket,
leader_data.addrs.transactions, leader_data.contact_info.tpu,
transactions_socket, transactions_socket,
); );

View File

@ -67,9 +67,9 @@ impl FullNode {
let local_requests_addr = node.sockets.requests.local_addr().unwrap(); let local_requests_addr = node.sockets.requests.local_addr().unwrap();
info!( info!(
"starting... local gossip address: {} (advertising {})", "starting... local gossip address: {} (advertising {})",
local_gossip_addr, node.data.addrs.gossip local_gossip_addr, node.data.contact_info.ncp
); );
let requests_addr = node.data.addrs.requests.clone(); let requests_addr = node.data.contact_info.rpu.clone();
if !leader { if !leader {
let testnet_addr = network_entry_for_validator.expect("validator requires entry"); let testnet_addr = network_entry_for_validator.expect("validator requires entry");

View File

@ -980,7 +980,7 @@ mod test {
w.set_id(me_id).unwrap(); w.set_id(me_id).unwrap();
assert_eq!(i, w.get_index().unwrap()); assert_eq!(i, w.get_index().unwrap());
w.meta.size = PACKET_DATA_SIZE; w.meta.size = PACKET_DATA_SIZE;
w.meta.set_addr(&tn.data.addrs.gossip); w.meta.set_addr(&tn.data.contact_info.ncp);
} }
msgs.push_back(b); msgs.push_back(b);
} }

View File

@ -302,9 +302,9 @@ mod tests {
let transactions_socket = UdpSocket::bind("0.0.0.0:0").unwrap(); let transactions_socket = UdpSocket::bind("0.0.0.0:0").unwrap();
let mut client = ThinClient::new( let mut client = ThinClient::new(
leader_data.addrs.requests, leader_data.contact_info.rpu,
requests_socket, requests_socket,
leader_data.addrs.transactions, leader_data.contact_info.tpu,
transactions_socket, transactions_socket,
); );
let last_id = client.get_last_id(); let last_id = client.get_last_id();
@ -344,9 +344,9 @@ mod tests {
.unwrap(); .unwrap();
let transactions_socket = UdpSocket::bind("0.0.0.0:0").unwrap(); let transactions_socket = UdpSocket::bind("0.0.0.0:0").unwrap();
let mut client = ThinClient::new( let mut client = ThinClient::new(
leader_data.addrs.requests, leader_data.contact_info.rpu,
requests_socket, requests_socket,
leader_data.addrs.transactions, leader_data.contact_info.tpu,
transactions_socket, transactions_socket,
); );
let last_id = client.get_last_id(); let last_id = client.get_last_id();
@ -396,9 +396,9 @@ mod tests {
.unwrap(); .unwrap();
let transactions_socket = UdpSocket::bind("0.0.0.0:0").unwrap(); let transactions_socket = UdpSocket::bind("0.0.0.0:0").unwrap();
let mut client = ThinClient::new( let mut client = ThinClient::new(
leader_data.addrs.requests, leader_data.contact_info.rpu,
requests_socket, requests_socket,
leader_data.addrs.transactions, leader_data.contact_info.tpu,
transactions_socket, transactions_socket,
); );
let last_id = client.get_last_id(); let last_id = client.get_last_id();

View File

@ -198,7 +198,7 @@ pub mod tests {
let starting_balance = 10_000; let starting_balance = 10_000;
let mint = Mint::new(starting_balance); let mint = Mint::new(starting_balance);
let replicate_addr = target1.data.addrs.replicate; let replicate_addr = target1.data.contact_info.tvu;
let bank = Arc::new(Bank::new(&mint)); let bank = Arc::new(Bank::new(&mint));
//start crdt1 //start crdt1

View File

@ -29,8 +29,8 @@ fn converge(leader: &ReplicatedData, num_nodes: usize) -> Vec<ReplicatedData> {
let mut spy = TestNode::new(); let mut spy = TestNode::new();
let daddr = "0.0.0.0:0".parse().unwrap(); let daddr = "0.0.0.0:0".parse().unwrap();
let me = spy.data.id.clone(); let me = spy.data.id.clone();
spy.data.addrs.replicate = daddr; spy.data.contact_info.tvu = daddr;
spy.data.addrs.requests = daddr; spy.data.contact_info.rpu = daddr;
let mut spy_crdt = Crdt::new(spy.data); let mut spy_crdt = Crdt::new(spy.data);
spy_crdt.insert(&leader); spy_crdt.insert(&leader);
spy_crdt.set_leader(leader.id); spy_crdt.set_leader(leader.id);
@ -55,7 +55,7 @@ fn converge(leader: &ReplicatedData, num_nodes: usize) -> Vec<ReplicatedData> {
.values() .values()
.into_iter() .into_iter()
.filter(|x| x.id != me) .filter(|x| x.id != me)
.filter(|x| x.addrs.requests != daddr) .filter(|x| x.contact_info.rpu != daddr)
.cloned() .cloned()
.collect(); .collect();
if num >= num_nodes as u64 && v.len() >= num_nodes { if num >= num_nodes as u64 && v.len() >= num_nodes {
@ -110,7 +110,7 @@ fn test_multi_node_validator_catchup_from_zero() {
validator, validator,
false, false,
InFile::Path(ledger_path.clone()), InFile::Path(ledger_path.clone()),
Some(leader_data.addrs.gossip), Some(leader_data.contact_info.ncp),
None, None,
exit.clone(), exit.clone(),
); );
@ -143,7 +143,7 @@ fn test_multi_node_validator_catchup_from_zero() {
TestNode::new(), TestNode::new(),
false, false,
InFile::Path(ledger_path.clone()), InFile::Path(ledger_path.clone()),
Some(leader_data.addrs.gossip), Some(leader_data.contact_info.ncp),
None, None,
exit.clone(), exit.clone(),
); );
@ -211,7 +211,7 @@ fn test_multi_node_basic() {
validator, validator,
false, false,
InFile::Path(ledger_path.clone()), InFile::Path(ledger_path.clone()),
Some(leader_data.addrs.gossip), Some(leader_data.contact_info.ncp),
None, None,
exit.clone(), exit.clone(),
); );
@ -272,7 +272,7 @@ fn test_boot_validator_from_file() {
validator, validator,
false, false,
InFile::Path(ledger_path.clone()), InFile::Path(ledger_path.clone()),
Some(leader_data.addrs.gossip), Some(leader_data.contact_info.ncp),
None, None,
exit.clone(), exit.clone(),
); );
@ -356,7 +356,7 @@ fn test_leader_restart_validator_start_from_old_ledger() {
validator, validator,
false, false,
InFile::Path(stale_ledger_path.clone()), InFile::Path(stale_ledger_path.clone()),
Some(leader_data.addrs.gossip), Some(leader_data.contact_info.ncp),
None, None,
exit.clone(), exit.clone(),
); );
@ -425,7 +425,7 @@ fn test_multi_node_dynamic_network() {
validator, validator,
false, false,
InFile::Path(ledger_path.clone()), InFile::Path(ledger_path.clone()),
Some(leader_data.addrs.gossip), Some(leader_data.contact_info.ncp),
Some(OutFile::Path(ledger_path.clone())), Some(OutFile::Path(ledger_path.clone())),
exit.clone(), exit.clone(),
); );
@ -482,7 +482,7 @@ fn test_multi_node_dynamic_network() {
validator, validator,
false, false,
InFile::Path(ledger_path.clone()), InFile::Path(ledger_path.clone()),
Some(leader_data.addrs.gossip), Some(leader_data.contact_info.ncp),
Some(OutFile::Path(ledger_path.clone())), Some(OutFile::Path(ledger_path.clone())),
exit.clone(), exit.clone(),
); );
@ -518,12 +518,12 @@ fn mk_client(leader: &ReplicatedData) -> ThinClient {
.unwrap(); .unwrap();
let transactions_socket = UdpSocket::bind("0.0.0.0:0").unwrap(); let transactions_socket = UdpSocket::bind("0.0.0.0:0").unwrap();
let daddr = "0.0.0.0:0".parse().unwrap(); let daddr = "0.0.0.0:0".parse().unwrap();
assert!(leader.addrs.requests != daddr); assert!(leader.contact_info.rpu != daddr);
assert!(leader.addrs.transactions != daddr); assert!(leader.contact_info.tpu != daddr);
ThinClient::new( ThinClient::new(
leader.addrs.requests, leader.contact_info.rpu,
requests_socket, requests_socket,
leader.addrs.transactions, leader.contact_info.tpu,
transactions_socket, transactions_socket,
) )
} }