degen_websockets/
core_data_message.rs1
2
3use serde::{Serialize,Deserialize};
4use tokio_tungstenite::tungstenite::Message;
5
6
7use crate::websocket_messages::{MessageReliability};
8
9use super::websocket_messages::MessageReliabilityType;
10use thiserror::Error;
11
12
13
14
15
16
17
18
19#[derive(Serialize, Deserialize,Debug ,Clone)]
20#[serde(tag = "msg_type", content = "data")]
21pub enum CoreDataMessageContents {
22
23
24
25}
26
27
28impl CoreDataMessageContents {
29
30
31 pub fn from_inner_content( inner_content_option: Option<serde_json::Value >) -> Result<Option<Self>, serde_json::Error> {
32
33
34 match inner_content_option {
35 Some(inner_content) => {
36 let message:Self = serde_json::from_value( inner_content )?;
37 Ok(Some(message))
38 },
39 None => Ok(None)
40 }
41
42
43
44 }
45
46
47}
48
49
50
51
52impl MessageReliability for CoreDataMessageContents {
53 fn get_reliability_type(&self, message_uuid:String ) -> MessageReliabilityType {
54
55
56 match self {
57
58
59 _ => MessageReliabilityType::Unreliable
60 }
61
62
63
64 }
65}