Proof of Concept
This commit is contained in:
commit
e4fe60c06e
26 changed files with 4604 additions and 0 deletions
27
src/comm/message_processor.rs
Normal file
27
src/comm/message_processor.rs
Normal 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");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue