Abort nicer on drone connection failure
This commit is contained in:
parent
b7653865b1
commit
2cbfe41422
|
@ -250,7 +250,7 @@ fn process_command(
|
||||||
WalletCommand::AirDrop(tokens) => {
|
WalletCommand::AirDrop(tokens) => {
|
||||||
println!("Airdrop requested...");
|
println!("Airdrop requested...");
|
||||||
println!("Airdropping {:?} tokens", tokens);
|
println!("Airdropping {:?} tokens", tokens);
|
||||||
let _airdrop = request_airdrop(&config.drone_addr, &config.id, tokens as u64);
|
let _airdrop = request_airdrop(&config.drone_addr, &config.id, tokens as u64)?;
|
||||||
// TODO: return airdrop Result from Drone
|
// TODO: return airdrop Result from Drone
|
||||||
sleep(Duration::from_millis(100));
|
sleep(Duration::from_millis(100));
|
||||||
println!(
|
println!(
|
||||||
|
@ -313,8 +313,12 @@ fn mk_client(r: &ReplicatedData) -> io::Result<ThinClient> {
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn request_airdrop(drone_addr: &SocketAddr, id: &Mint, tokens: u64) {
|
fn request_airdrop(
|
||||||
let mut stream = TcpStream::connect(drone_addr).unwrap();
|
drone_addr: &SocketAddr,
|
||||||
|
id: &Mint,
|
||||||
|
tokens: u64,
|
||||||
|
) -> Result<(), Box<error::Error>> {
|
||||||
|
let mut stream = TcpStream::connect(drone_addr)?;
|
||||||
let req = DroneRequest::GetAirdrop {
|
let req = DroneRequest::GetAirdrop {
|
||||||
airdrop_request_amount: tokens,
|
airdrop_request_amount: tokens,
|
||||||
client_public_key: id.pubkey(),
|
client_public_key: id.pubkey(),
|
||||||
|
@ -322,6 +326,7 @@ fn request_airdrop(drone_addr: &SocketAddr, id: &Mint, tokens: u64) {
|
||||||
let tx = serialize(&req).expect("serialize drone request");
|
let tx = serialize(&req).expect("serialize drone request");
|
||||||
stream.write_all(&tx).unwrap();
|
stream.write_all(&tx).unwrap();
|
||||||
// TODO: add timeout to this function, in case of unresponsive drone
|
// TODO: add timeout to this function, in case of unresponsive drone
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() -> Result<(), Box<error::Error>> {
|
fn main() -> Result<(), Box<error::Error>> {
|
||||||
|
|
Loading…
Reference in New Issue