Struct mles_utils::Msg
[−]
[src]
pub struct Msg { /* fields omitted */ }
Msg structure
This structure defines the Mles interface value triplet (uid, channel, message). It is eventually serialized and deserialized by CBOR.
Methods
impl Msg
[src]
fn new(uid: String, channel: String, message: Vec<u8>) -> Msg
[src]
Create a new Msg object with value triplet.
Example
use mles_utils::Msg; let msg = Msg::new("My uid".to_string(), "My channel".to_string(), Vec::new());
fn set_uid(self, uid: String) -> Msg
[src]
Set uid for Msg object.
Example
use mles_utils::Msg; let mut msg = Msg::new("My uid".to_string(), "My channel".to_string(), Vec::new()); let msg = msg.set_uid("New uid".to_string()); assert_eq!("New uid".to_string(), *msg.get_uid());
fn set_channel(self, channel: String) -> Msg
[src]
Set channel for Msg object.
Example
use mles_utils::Msg; let mut msg = Msg::new("My uid".to_string(), "My channel".to_string(), Vec::new()); let msg = msg.set_channel("New channel".to_string()); assert_eq!("New channel".to_string(), *msg.get_channel());
fn set_message(self, message: Vec<u8>) -> Msg
[src]
Set message for Msg object.
Example
use mles_utils::Msg; let mut msg = Msg::new("My uid".to_string(), "My channel".to_string(), Vec::new()); let new_message: Vec<u8> = "New message".to_string().into_bytes(); let msg = msg.set_message(new_message);
fn get_uid(&self) -> &String
[src]
Get uid for Msg object. See example for set uid.
fn get_channel(&self) -> &String
[src]
Get channel for Msg object. See example for set channel.
fn get_message(&self) -> &Vec<u8>
[src]
Get message for Msg object.
Example
use mles_utils::Msg; let mut msg = Msg::new("My uid".to_string(), "My channel".to_string(), Vec::new()); let msg: &Vec<u8> = msg.get_message();
fn get_message_len(&self) -> usize
[src]
Get message len for Msg object.
Example
use mles_utils::Msg; let mut msg = Msg::new("My uid".to_string(), "My channel".to_string(), Vec::new()); let msg_len: usize = msg.get_message_len();
fn encode(&self) -> Vec<u8>
[src]
Encode Msg object to CBOR.
Errors
If message cannot be encoded, an empty vector is returned.
Example
use mles_utils::Msg; let msg = Msg::new("My uid".to_string(), "My channel".to_string(), Vec::new()); let encoded_msg: Vec<u8> = msg.encode();
fn decode(slice: &[u8]) -> Msg
[src]
Decode CBOR byte string to Msg object.
Errors
If message cannot be decoded, a Msg structure with empty items is returned.
Example
use mles_utils::Msg; let msg = Msg::new("My uid".to_string(), "My channel".to_string(), Vec::new()); let encoded_msg: Vec<u8> = msg.encode(); let decoded_msg: Msg = Msg::decode(&encoded_msg);