Proof of Concept

This commit is contained in:
Philip (a-0) 2023-12-07 19:51:19 +01:00
commit e4fe60c06e
26 changed files with 4604 additions and 0 deletions

View file

@ -0,0 +1,27 @@
use std::sync::Arc;
use tracing::debug;
use crate::state::{State, types::PeerId};
use super::{messages::{Message, MessageContent}, Peer};
pub fn handle(state: Arc<State>, peer: &PeerId, message: Message) {
debug!("Handling message now: {:?}", message);
match message.content() {
MessageContent::Hello { peer_name } => {
state.set_peer(&Peer::new(peer.clone(), peer_name.clone())).expect("Couldn't set peer");
},
MessageContent::CreateElement { id, content } => {
state.set_element(id, content).expect("State failed");
},
MessageContent::SetElement { id, content } => {
state.set_element(id, content).expect("State failed");
},
MessageContent::RemoveElement { id } => {
state.remove_element(id).expect("State failed");
}
}
}