Don't panic the drone on a request that ends in error. (#3869)

This commit is contained in:
sakridge 2019-04-18 12:18:31 -07:00 committed by GitHub
parent ce505d24b1
commit 96425fb520
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 13 deletions

View File

@ -1,3 +1,4 @@
use bytes::Bytes;
use clap::{crate_description, crate_name, crate_version, App, Arg}; use clap::{crate_description, crate_name, crate_version, App, Arg};
use log::*; use log::*;
use solana_drone::drone::{Drone, DRONE_PORT}; use solana_drone::drone::{Drone, DRONE_PORT};
@ -85,12 +86,16 @@ fn main() -> Result<(), Box<error::Error>> {
let (writer, reader) = framed.split(); let (writer, reader) = framed.split();
let processor = reader.and_then(move |bytes| { let processor = reader.and_then(move |bytes| {
let response_bytes = drone2 match drone2.lock().unwrap().process_drone_request(&bytes) {
.lock() Ok(response_bytes) => {
.unwrap() trace!("Airdrop response_bytes: {:?}", response_bytes.to_vec());
.process_drone_request(&bytes) Ok(response_bytes)
.unwrap(); }
Ok(response_bytes) Err(e) => {
info!("Error in request: {:?}", e);
Ok(Bytes::from(&b""[..]))
}
}
}); });
let server = writer let server = writer
.send_all(processor.or_else(|err| { .send_all(processor.or_else(|err| {

View File

@ -267,13 +267,16 @@ pub fn run_local_drone(
let (writer, reader) = framed.split(); let (writer, reader) = framed.split();
let processor = reader.and_then(move |bytes| { let processor = reader.and_then(move |bytes| {
let response_bytes = drone2 match drone2.lock().unwrap().process_drone_request(&bytes) {
.lock() Ok(response_bytes) => {
.unwrap() trace!("Airdrop response_bytes: {:?}", response_bytes.to_vec());
.process_drone_request(&bytes) Ok(response_bytes)
.unwrap(); }
trace!("Airdrop response_bytes: {:?}", response_bytes.to_vec()); Err(e) => {
Ok(response_bytes) info!("Error in request: {:?}", e);
Ok(Bytes::from(&b""[..]))
}
}
}); });
let server = writer let server = writer
.send_all(processor.or_else(|err| { .send_all(processor.or_else(|err| {