add funny joke cause I am so funny and stuff
This commit is contained in:
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(),
|
||||
|
Loading…
Reference in New Issue
Block a user