add funny joke cause I am so funny and stuff

This commit is contained in:
ghe0 2024-08-18 05:27:06 +03:00
parent 95b2f6455a
commit 21f7a9f971

@ -7,7 +7,7 @@ use std::time::SystemTime;
use tabled::{Table, Tabled};
use tokio::sync::Mutex;
#[derive(Clone)]
#[derive(Clone, PartialEq)]
pub struct NodeInfo {
pub pubkey: VerifyingKey,
pub updated_at: SystemTime,
@ -65,11 +65,15 @@ impl Store {
pub async fn add_mock_node(&self, ip: String) {
let mut csprng = OsRng;
let privkey = ed25519_dalek::SigningKey::generate(&mut csprng);
self.add_node(ip, NodeInfo {
pubkey: privkey.verifying_key(),
updated_at: std::time::SystemTime::now(),
online: true,
}).await;
self.update_node(
ip,
NodeInfo {
pubkey: privkey.verifying_key(),
updated_at: std::time::SystemTime::now(),
online: true,
},
)
.await;
self.add_key(privkey.verifying_key(), privkey).await;
}
@ -128,9 +132,16 @@ impl Store {
keys.get(pubkey).cloned()
}
pub async fn add_node(&self, ip: String, info: NodeInfo) {
/// This returns true if NodeInfo got modified.
///
/// On a side note, there are two types of people in this worlds:
/// 1. Those that can extrapolate...
pub async fn update_node(&self, ip: String, info: NodeInfo) -> bool {
let mut nodes = self.nodes.lock().await;
nodes.insert(ip, info);
match nodes.insert(ip, info.clone()) {
Some(old_info) => old_info.ne(&info),
None => false,
}
}
pub async fn remove_node(&self, ip: &str) {
@ -147,7 +158,7 @@ impl Store {
let mut csprng = OsRng;
// TODO: save old private key to disk using SGX Sealing
let privkey = ed25519_dalek::SigningKey::generate(&mut csprng);
self.add_node(
self.update_node(
"localhost".to_string(),
NodeInfo {
pubkey: privkey.verifying_key(),