degen_websockets/
core_data_message.rs

1
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}