fixes for stats and crash
This commit is contained in:
@@ -9,6 +9,14 @@ use std::net::SocketAddr;
|
||||
use std::rc::Rc;
|
||||
use veilid_core::xx::*;
|
||||
|
||||
macro_rules! capnp_failed {
|
||||
($ex:expr) => {{
|
||||
let msg = format!("Capnp Error: {}", $ex);
|
||||
error!("{}", msg);
|
||||
Promise::err(capnp::Error::failed(msg))
|
||||
}};
|
||||
}
|
||||
|
||||
struct VeilidClientImpl {
|
||||
comproc: CommandProcessor,
|
||||
}
|
||||
@@ -30,7 +38,7 @@ impl veilid_client::Server for VeilidClientImpl {
|
||||
let which = match veilid_update.which() {
|
||||
Ok(v) => v,
|
||||
Err(e) => {
|
||||
panic!("(missing update kind in schema: {:?})", e);
|
||||
return capnp_failed!(format!("(missing update kind in schema: {:?})", e));
|
||||
}
|
||||
};
|
||||
match which {
|
||||
@@ -40,8 +48,28 @@ impl veilid_client::Server for VeilidClientImpl {
|
||||
trace!("Attachment: {}", state as u16);
|
||||
self.comproc.update_attachment(state);
|
||||
}
|
||||
_ => {
|
||||
panic!("shouldn't get this")
|
||||
veilid_update::Attachment(Err(e)) => {
|
||||
return capnp_failed!(format!("Update Attachment Error: {}", e));
|
||||
}
|
||||
veilid_update::Network(Ok(network)) => {
|
||||
let started = network.get_started();
|
||||
let bps_down = network.get_bps_down();
|
||||
let bps_up = network.get_bps_up();
|
||||
|
||||
trace!(
|
||||
"Network: started: {} bps_down: {} bps_up: {}",
|
||||
started,
|
||||
bps_down,
|
||||
bps_up
|
||||
);
|
||||
self.comproc
|
||||
.update_network_status(started, bps_down, bps_up);
|
||||
}
|
||||
veilid_update::Network(Err(e)) => {
|
||||
return capnp_failed!(format!("Update Network Error: {}", e));
|
||||
}
|
||||
veilid_update::Shutdown(()) => {
|
||||
return capnp_failed!("Should not get Shutdown here".to_owned());
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user