use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Copy, Serialize, Deserialize)] pub enum SignalType { Auth, Offer, Answer, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct Signal { pub username: String, pub signal_type: SignalType, pub data: String, time: DateTime, } impl Signal { pub fn new(username: &String, signal_type: &SignalType, data: &String) -> Signal { let username = username.to_owned(); let signal_type = *signal_type; let data = data.to_owned(); Signal { username, signal_type, data, time: DateTime::default(), } } pub fn get_time(&self) -> DateTime { self.time } }