1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
pub mod header; pub mod request; pub mod response; pub mod packet; use self::packet::Packet; use self::header::Header; use std::collections::LinkedList; pub trait IsMessage { fn get_message(&self) -> &Packet; fn get_mut_message(&mut self) -> &mut Packet; fn get_header(&self) -> &Header; fn get_mut_header(&mut self) -> &mut Header; fn set_token(&mut self, token: Vec<u8>) { self.get_mut_message().set_token(token); } fn get_token(&self) -> &Vec<u8> { return self.get_message().get_token(); } fn set_option(&mut self, tp: packet::CoAPOption, value: LinkedList<Vec<u8>>) { self.get_mut_message().set_option(tp, value); } fn set_payload(&mut self, payload: Vec<u8>) { self.get_mut_message().set_payload(payload); } fn add_option(&mut self, tp: packet::CoAPOption, value: Vec<u8>) { self.get_mut_message().add_option(tp, value); } fn get_option(&self, tp: packet::CoAPOption) -> Option<&LinkedList<Vec<u8>>> { return self.get_message().get_option(tp); } fn clear_option(&mut self, tp: packet::CoAPOption) { self.get_mut_message().clear_option(tp); } fn set_observe(&mut self, value: Vec<u8>) { self.get_mut_message().set_observe(value); } fn get_observe(&self) -> Option<&Vec<u8>> { return self.get_message().get_observe(); } fn get_message_id(&self) -> u16 { return self.get_message().header.get_message_id(); } fn set_message_id(&mut self, message_id: u16) { self.get_mut_message().header.set_message_id(message_id); } fn set_version(&mut self, v: u8) { self.get_mut_message().header.set_version(v); } fn get_version(&self) -> u8 { return self.get_message().header.get_version(); } fn set_type(&mut self, t: header::MessageType) { self.get_mut_message().header.set_type(t); } fn get_type(&self) -> header::MessageType { return self.get_message().header.get_type(); } fn get_code(&self) -> String { return self.get_message().header.get_code(); } fn set_code(&mut self, code: &str) { self.get_mut_message().header.set_code(code); } }