Initial development commit
This commit is contained in:
34
src/lib.rs
Normal file
34
src/lib.rs
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
#![macro_use]
|
||||
#![cfg_attr(not(feature = "std"), no_std)]
|
||||
#![allow(dead_code)]
|
||||
|
||||
pub mod packet;
|
||||
|
||||
#[allow(unused_variables)]
|
||||
pub fn print_stack(file: &'static str, line: u32) {
|
||||
let _u: u32 = 1;
|
||||
let _uptr: *const u32 = &_u;
|
||||
// log::trace!("[{}:{}] SP: 0x{:p}", file, line, &_uptr);
|
||||
}
|
||||
|
||||
#[allow(unused_variables)]
|
||||
pub fn log_stack(file: &'static str) {
|
||||
let _u: u32 = 1;
|
||||
let _uptr: *const u32 = &_u;
|
||||
//trace!("[{}] SP: 0x{:?}", file, &_uptr);
|
||||
}
|
||||
|
||||
#[allow(unused_variables)]
|
||||
pub fn print_size<T>(name: &'static str) {
|
||||
//log::info!("[{}] size: {}", name, core::mem::size_of::<T>());
|
||||
}
|
||||
|
||||
#[allow(unused_variables)]
|
||||
pub fn print_value_size<T>(name: &'static str, val: &T) {
|
||||
/* log::info!(
|
||||
"[{}] value size: {}",
|
||||
name,
|
||||
core::mem::size_of_val::<T>(val)
|
||||
);*/
|
||||
}
|
||||
21
src/main.rs
Normal file
21
src/main.rs
Normal file
@@ -0,0 +1,21 @@
|
||||
use rust_mqtt::packet::mqttpacket::Packet;
|
||||
|
||||
fn main() {
|
||||
|
||||
env_logger::builder()
|
||||
.filter_level(log::LevelFilter::Info)
|
||||
.format_timestamp_nanos()
|
||||
.init();
|
||||
|
||||
let l: u8 = 1;
|
||||
let y: u32 = 2;
|
||||
let z: u16 = 3;
|
||||
let p: u32 = 4;
|
||||
let text: &'a [u8] = "abcde";
|
||||
let payld: &'a [u8] = "This is payload";
|
||||
|
||||
let x = Packet::new( l, y, z, p, text, payld );
|
||||
log::info!("Hello world");
|
||||
x.encode();
|
||||
x.get_reason_code();
|
||||
}
|
||||
1
src/packet/mod.rs
Normal file
1
src/packet/mod.rs
Normal file
@@ -0,0 +1 @@
|
||||
pub mod mqttpacket;
|
||||
30
src/packet/mqttpacket.rs
Normal file
30
src/packet/mqttpacket.rs
Normal file
@@ -0,0 +1,30 @@
|
||||
pub struct Packet<'a> {
|
||||
// 7 - 4 mqtt control packet type, 3-0 flagy
|
||||
header_control: u8,
|
||||
// 1 - 4 B
|
||||
remain_len: u32,
|
||||
|
||||
// variable header
|
||||
//optional
|
||||
packet_identifier: u16,
|
||||
// property len
|
||||
property_len: u32,
|
||||
// properties
|
||||
properties: &'a mut [u8],
|
||||
// Payload of message
|
||||
payload: &'a mut [u8]
|
||||
}
|
||||
|
||||
impl<'a> Packet {
|
||||
pub fn new(header_control: u8, remain_len: u32, packet_identifier: u16, property_len: u32, properties: &'a mut [u8], payload: &'a mut [u8]) -> Self {
|
||||
Self { header_control, remain_len, packet_identifier, property_len , properties, payload}
|
||||
}
|
||||
|
||||
pub fn encode(&self) {
|
||||
log::info!("Encoding!");
|
||||
}
|
||||
|
||||
pub fn get_reason_code(&self) {
|
||||
log::info!("Getting reason code!");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user