mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-04-28 03:00:18 -04:00
dnetview: check whether selectable object is empty
* handle error that occurs when data is not fully initialized
This commit is contained in:
@@ -15,7 +15,7 @@ use crate::{
|
||||
error::{DnetViewError, DnetViewResult},
|
||||
model::{NodeInfo, SelectableObject},
|
||||
};
|
||||
//use log::debug;
|
||||
use log::debug;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct View {
|
||||
@@ -187,41 +187,48 @@ impl View {
|
||||
let style = Style::default();
|
||||
let mut spans = Vec::new();
|
||||
|
||||
let info = self.selectables.get(&selected);
|
||||
if self.selectables.is_empty() {
|
||||
// we have not received any selectable data
|
||||
return Ok(())
|
||||
} else {
|
||||
let info = self.selectables.get(&selected);
|
||||
|
||||
match info {
|
||||
Some(SelectableObject::Node(_node)) => {
|
||||
let name_span = Spans::from("Node Info");
|
||||
spans.push(name_span);
|
||||
}
|
||||
Some(SelectableObject::Session(_session)) => {
|
||||
let name_span = Spans::from("Session Info");
|
||||
spans.push(name_span);
|
||||
}
|
||||
Some(SelectableObject::Connect(connect)) => {
|
||||
let log = self.msg_log.get(&connect.id);
|
||||
match log {
|
||||
Some(values) => {
|
||||
for (k, v) in values {
|
||||
match k.as_str() {
|
||||
"send" => {
|
||||
let msg_log =
|
||||
Spans::from(Span::styled(format!("S: {}", v), style));
|
||||
spans.push(msg_log);
|
||||
match info {
|
||||
Some(SelectableObject::Node(_node)) => {
|
||||
let name_span = Spans::from("Node Info");
|
||||
spans.push(name_span);
|
||||
}
|
||||
Some(SelectableObject::Session(_session)) => {
|
||||
let name_span = Spans::from("Session Info");
|
||||
spans.push(name_span);
|
||||
}
|
||||
Some(SelectableObject::Connect(connect)) => {
|
||||
let log = self.msg_log.get(&connect.id);
|
||||
match log {
|
||||
Some(values) => {
|
||||
for (k, v) in values {
|
||||
match k.as_str() {
|
||||
"send" => {
|
||||
let msg_log =
|
||||
Spans::from(Span::styled(format!("S: {}", v), style));
|
||||
spans.push(msg_log);
|
||||
}
|
||||
"recv" => {
|
||||
let msg_log =
|
||||
Spans::from(Span::styled(format!("R: {}", v), style));
|
||||
spans.push(msg_log);
|
||||
}
|
||||
data => {
|
||||
return Err(DnetViewError::UnexpectedData(data.to_string()))
|
||||
}
|
||||
}
|
||||
"recv" => {
|
||||
let msg_log =
|
||||
Spans::from(Span::styled(format!("R: {}", v), style));
|
||||
spans.push(msg_log);
|
||||
}
|
||||
data => return Err(DnetViewError::UnexpectedData(data.to_string())),
|
||||
}
|
||||
}
|
||||
None => return Err(DnetViewError::CannotFindId),
|
||||
}
|
||||
None => return Err(DnetViewError::CannotFindId),
|
||||
}
|
||||
None => return Err(DnetViewError::NotSelectableObject),
|
||||
}
|
||||
None => return Err(DnetViewError::NotSelectableObject),
|
||||
}
|
||||
|
||||
let graph = Paragraph::new(spans)
|
||||
|
||||
Reference in New Issue
Block a user