Drop all references to new_leader and new_validator
This commit is contained in:
@ -285,14 +285,15 @@ mod tests {
|
|||||||
let leader_data = leader.data.clone();
|
let leader_data = leader.data.clone();
|
||||||
let ledger_path = tmp_ledger_path("send_airdrop");
|
let ledger_path = tmp_ledger_path("send_airdrop");
|
||||||
|
|
||||||
let server = Fullnode::new_leader(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
bank,
|
bank,
|
||||||
0,
|
0,
|
||||||
&[],
|
&[],
|
||||||
leader,
|
leader,
|
||||||
|
None,
|
||||||
exit.clone(),
|
exit.clone(),
|
||||||
&ledger_path,
|
Some(&ledger_path),
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
//TODO: this seems unstable
|
//TODO: this seems unstable
|
||||||
|
@ -77,70 +77,79 @@ impl Fullnode {
|
|||||||
local_gossip_addr, node.data.contact_info.ncp
|
local_gossip_addr, node.data.contact_info.ncp
|
||||||
);
|
);
|
||||||
let exit = Arc::new(AtomicBool::new(false));
|
let exit = Arc::new(AtomicBool::new(false));
|
||||||
Self::new_with_bank(
|
let local_requests_addr = node.sockets.requests.local_addr().unwrap();
|
||||||
|
let requests_addr = node.data.contact_info.rpu;
|
||||||
|
let leader_info = leader_addr.map(|x| NodeInfo::new_entry_point(x));
|
||||||
|
let server = Self::new_with_bank(
|
||||||
keypair,
|
keypair,
|
||||||
bank,
|
bank,
|
||||||
entry_height,
|
entry_height,
|
||||||
&ledger_tail,
|
&ledger_tail,
|
||||||
node,
|
node,
|
||||||
|
leader_info,
|
||||||
exit,
|
exit,
|
||||||
ledger_path,
|
Some(ledger_path),
|
||||||
sigverify_disabled,
|
sigverify_disabled,
|
||||||
leader_addr,
|
);
|
||||||
)
|
|
||||||
|
match leader_addr {
|
||||||
|
Some(leader_addr) => {
|
||||||
|
info!(
|
||||||
|
"validator ready... local request address: {} (advertising {}) connected to: {}",
|
||||||
|
local_requests_addr, requests_addr, leader_addr
|
||||||
|
);
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
info!(
|
||||||
|
"leader ready... local request address: {} (advertising {})",
|
||||||
|
local_requests_addr, requests_addr
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
server
|
||||||
}
|
}
|
||||||
|
|
||||||
fn new_with_bank(
|
pub fn new_with_bank(
|
||||||
keypair: Keypair,
|
keypair: Keypair,
|
||||||
bank: Bank,
|
bank: Bank,
|
||||||
entry_height: u64,
|
entry_height: u64,
|
||||||
ledger_tail: &[Entry],
|
ledger_tail: &[Entry],
|
||||||
mut node: TestNode,
|
mut node: TestNode,
|
||||||
|
leader_info: Option<NodeInfo>,
|
||||||
exit: Arc<AtomicBool>,
|
exit: Arc<AtomicBool>,
|
||||||
ledger_path: &str,
|
ledger_path: Option<&str>,
|
||||||
sigverify_disabled: bool,
|
sigverify_disabled: bool,
|
||||||
leader_addr: Option<SocketAddr>,
|
|
||||||
) -> Self {
|
) -> Self {
|
||||||
let local_requests_addr = node.sockets.requests.local_addr().unwrap();
|
match leader_info {
|
||||||
let requests_addr = node.data.contact_info.rpu;
|
Some(leader_info) => {
|
||||||
match leader_addr {
|
// Start in validator mode.
|
||||||
Some(leader_addr) => {
|
Self::new_validator(
|
||||||
let network_entry_point = NodeInfo::new_entry_point(leader_addr);
|
|
||||||
let server = Self::new_validator(
|
|
||||||
keypair,
|
|
||||||
bank,
|
|
||||||
entry_height,
|
|
||||||
&ledger_tail,
|
|
||||||
node,
|
|
||||||
&network_entry_point,
|
|
||||||
exit.clone(),
|
|
||||||
Some(ledger_path),
|
|
||||||
sigverify_disabled,
|
|
||||||
);
|
|
||||||
info!(
|
|
||||||
"validator ready... local request address: {} (advertising {}) connected to: {}",
|
|
||||||
local_requests_addr, requests_addr, leader_addr
|
|
||||||
);
|
|
||||||
server
|
|
||||||
}
|
|
||||||
None => {
|
|
||||||
node.data.leader_id = node.data.id;
|
|
||||||
|
|
||||||
let server = Self::new_leader(
|
|
||||||
keypair,
|
keypair,
|
||||||
bank,
|
bank,
|
||||||
entry_height,
|
entry_height,
|
||||||
&ledger_tail,
|
&ledger_tail,
|
||||||
node,
|
node,
|
||||||
|
&leader_info,
|
||||||
exit.clone(),
|
exit.clone(),
|
||||||
ledger_path,
|
ledger_path,
|
||||||
sigverify_disabled,
|
sigverify_disabled,
|
||||||
);
|
)
|
||||||
info!(
|
}
|
||||||
"leader ready... local request address: {} (advertising {})",
|
None => {
|
||||||
local_requests_addr, requests_addr
|
// Start in leader mode.
|
||||||
);
|
node.data.leader_id = node.data.id;
|
||||||
server
|
|
||||||
|
Self::new_leader(
|
||||||
|
keypair,
|
||||||
|
bank,
|
||||||
|
entry_height,
|
||||||
|
&ledger_tail,
|
||||||
|
node,
|
||||||
|
exit.clone(),
|
||||||
|
ledger_path.expect("ledger path"),
|
||||||
|
sigverify_disabled,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -193,7 +202,7 @@ impl Fullnode {
|
|||||||
/// | | `------------`
|
/// | | `------------`
|
||||||
/// `---------------------`
|
/// `---------------------`
|
||||||
/// ```
|
/// ```
|
||||||
pub fn new_leader(
|
fn new_leader(
|
||||||
keypair: Keypair,
|
keypair: Keypair,
|
||||||
bank: Bank,
|
bank: Bank,
|
||||||
entry_height: u64,
|
entry_height: u64,
|
||||||
@ -299,7 +308,7 @@ impl Fullnode {
|
|||||||
/// `--------` | | `------------`
|
/// `--------` | | `------------`
|
||||||
/// `-------------------------------`
|
/// `-------------------------------`
|
||||||
/// ```
|
/// ```
|
||||||
pub fn new_validator(
|
fn new_validator(
|
||||||
keypair: Keypair,
|
keypair: Keypair,
|
||||||
bank: Bank,
|
bank: Bank,
|
||||||
entry_height: u64,
|
entry_height: u64,
|
||||||
@ -409,7 +418,7 @@ mod tests {
|
|||||||
let bank = Bank::new(&alice);
|
let bank = Bank::new(&alice);
|
||||||
let exit = Arc::new(AtomicBool::new(false));
|
let exit = Arc::new(AtomicBool::new(false));
|
||||||
let entry = tn.data.clone();
|
let entry = tn.data.clone();
|
||||||
let v = Fullnode::new_validator(keypair, bank, 0, &[], tn, &entry, exit, None, false);
|
let v = Fullnode::new_with_bank(keypair, bank, 0, &[], tn, Some(entry), exit, None, false);
|
||||||
v.exit();
|
v.exit();
|
||||||
v.join().unwrap();
|
v.join().unwrap();
|
||||||
}
|
}
|
||||||
@ -423,7 +432,7 @@ mod tests {
|
|||||||
let bank = Bank::new(&alice);
|
let bank = Bank::new(&alice);
|
||||||
let exit = Arc::new(AtomicBool::new(false));
|
let exit = Arc::new(AtomicBool::new(false));
|
||||||
let entry = tn.data.clone();
|
let entry = tn.data.clone();
|
||||||
Fullnode::new_validator(keypair, bank, 0, &[], tn, &entry, exit, None, false)
|
Fullnode::new_with_bank(keypair, bank, 0, &[], tn, Some(entry), exit, None, false)
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
//each validator can exit in parallel to speed many sequential calls to `join`
|
//each validator can exit in parallel to speed many sequential calls to `join`
|
||||||
|
@ -400,14 +400,15 @@ mod tests {
|
|||||||
let exit = Arc::new(AtomicBool::new(false));
|
let exit = Arc::new(AtomicBool::new(false));
|
||||||
let ledger_path = tmp_ledger("thin_client", &alice);
|
let ledger_path = tmp_ledger("thin_client", &alice);
|
||||||
|
|
||||||
let server = Fullnode::new_leader(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
bank,
|
bank,
|
||||||
0,
|
0,
|
||||||
&[],
|
&[],
|
||||||
leader,
|
leader,
|
||||||
|
None,
|
||||||
exit.clone(),
|
exit.clone(),
|
||||||
&ledger_path,
|
Some(&ledger_path),
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
sleep(Duration::from_millis(900));
|
sleep(Duration::from_millis(900));
|
||||||
@ -447,14 +448,15 @@ mod tests {
|
|||||||
let leader_data = leader.data.clone();
|
let leader_data = leader.data.clone();
|
||||||
let ledger_path = tmp_ledger("bad_sig", &alice);
|
let ledger_path = tmp_ledger("bad_sig", &alice);
|
||||||
|
|
||||||
let server = Fullnode::new_leader(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
bank,
|
bank,
|
||||||
0,
|
0,
|
||||||
&[],
|
&[],
|
||||||
leader,
|
leader,
|
||||||
|
None,
|
||||||
exit.clone(),
|
exit.clone(),
|
||||||
&ledger_path,
|
Some(&ledger_path),
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
//TODO: remove this sleep, or add a retry so CI is stable
|
//TODO: remove this sleep, or add a retry so CI is stable
|
||||||
@ -506,14 +508,15 @@ mod tests {
|
|||||||
let leader_data = leader.data.clone();
|
let leader_data = leader.data.clone();
|
||||||
let ledger_path = tmp_ledger("client_check_signature", &alice);
|
let ledger_path = tmp_ledger("client_check_signature", &alice);
|
||||||
|
|
||||||
let server = Fullnode::new_leader(
|
let server = Fullnode::new_with_bank(
|
||||||
leader_keypair,
|
leader_keypair,
|
||||||
bank,
|
bank,
|
||||||
0,
|
0,
|
||||||
&[],
|
&[],
|
||||||
leader,
|
leader,
|
||||||
|
None,
|
||||||
exit.clone(),
|
exit.clone(),
|
||||||
&ledger_path,
|
Some(&ledger_path),
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
sleep(Duration::from_millis(300));
|
sleep(Duration::from_millis(300));
|
||||||
|
Reference in New Issue
Block a user