Massive refactoring
This commit is contained in:
parent
31dc4fd4a3
commit
a75c115761
31 changed files with 160 additions and 140 deletions
62
ubisync-lib/src/messages/mod.rs
Normal file
62
ubisync-lib/src/messages/mod.rs
Normal file
|
@ -0,0 +1,62 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::types::{MessageId, ElementId, ElementContent};
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||
pub struct Message {
|
||||
id: MessageId,
|
||||
signature: MessageSignature,
|
||||
content: MessageContent,
|
||||
}
|
||||
|
||||
|
||||
|
||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||
pub struct MessageRelations {
|
||||
pub parents: Vec<MessageId>,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||
pub enum MessageContent {
|
||||
Hello {
|
||||
peer_name: String,
|
||||
},
|
||||
CreateElement {
|
||||
id: ElementId,
|
||||
content: ElementContent,
|
||||
},
|
||||
SetElement {
|
||||
id: ElementId,
|
||||
content: ElementContent,
|
||||
},
|
||||
RemoveElement {
|
||||
id: ElementId,
|
||||
},
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||
pub struct MessageSignature {}
|
||||
|
||||
impl Message {
|
||||
pub fn new(content: MessageContent) -> Self {
|
||||
Message {
|
||||
id: MessageId::new(),
|
||||
signature: MessageSignature {},
|
||||
content: content,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn content(&self) -> &MessageContent {
|
||||
&self.content
|
||||
}
|
||||
|
||||
pub fn id(&self) -> &MessageId {
|
||||
&self.id
|
||||
}
|
||||
}
|
||||
|
||||
impl MessageSignature {
|
||||
pub fn verify(&self, _content: &MessageContent) -> bool {
|
||||
true
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue