dnetview/util: add human readable ID prefix for easier debugging

This commit is contained in:
lunar-mining
2022-08-22 10:39:02 +02:00
parent 2078192e86
commit 59b954fa69

View File

@@ -9,7 +9,9 @@ pub async fn sleep(millis: u64) {
}
pub fn make_node_id(node_name: &String) -> Result<String> {
Ok(serial::serialize_hex(node_name))
let mut id = serial::serialize_hex(node_name);
id.insert_str(0, "NODE");
Ok(id)
}
pub fn make_session_id(node_id: &str, session: &Session) -> Result<String> {
@@ -30,11 +32,15 @@ pub fn make_session_id(node_id: &str, session: &Session) -> Result<String> {
num += i as u64
}
Ok(serial::serialize_hex(&num))
let mut id = serial::serialize_hex(&num);
id.insert_str(0, "SESSION");
Ok(id)
}
pub fn make_connect_id(id: &u64) -> Result<String> {
Ok(serial::serialize_hex(id))
let mut id = serial::serialize_hex(id);
id.insert_str(0, "CONNECT");
Ok(id)
}
pub fn make_empty_id(node_id: &str, session: &Session, count: u64) -> Result<String> {
@@ -42,24 +48,62 @@ pub fn make_empty_id(node_id: &str, session: &Session, count: u64) -> Result<Str
let mut num = 0_u64;
let session_chars = match session {
Session::Inbound => vec!['i', 'n'],
Session::Outbound => vec!['o', 'u', 't'],
Session::Manual => vec!['m', 'a', 'n'],
Session::Offline => vec!['o', 'f', 'f'],
let id = match session {
Session::Inbound => {
let session_chars = vec!['i', 'n'];
for i in session_chars {
num += i as u64
}
for i in node_id.chars() {
num += i as u64
}
num += count;
let mut id = serial::serialize_hex(&num);
id.insert_str(0, "EMPTYIN");
id
}
Session::Outbound => {
let session_chars = vec!['o', 'u', 't'];
for i in session_chars {
num += i as u64
}
for i in node_id.chars() {
num += i as u64
}
num += count;
let mut id = serial::serialize_hex(&num);
id.insert_str(0, "EMPTYOUT");
id
}
Session::Manual => {
let session_chars = vec!['m', 'a', 'n'];
for i in session_chars {
num += i as u64
}
for i in node_id.chars() {
num += i as u64
}
num += count;
let mut id = serial::serialize_hex(&num);
id.insert_str(0, "EMPTYMAN");
id
}
Session::Offline => {
let session_chars = vec!['o', 'f', 'f'];
for i in session_chars {
num += i as u64
}
for i in node_id.chars() {
num += i as u64
}
num += count;
let mut id = serial::serialize_hex(&num);
id.insert_str(0, "EMPTYOFF");
id
}
};
for i in session_chars {
num += i as u64
}
for i in node_id.chars() {
num += i as u64
}
num += count;
Ok(serial::serialize_hex(&num))
Ok(id)
}
pub fn is_empty_session(connects: &[ConnectInfo]) -> bool {