Type issue

This commit is contained in:
Ondrej Babec 2022-02-25 16:35:46 +01:00
parent cc6498a76f
commit 5729feef15
No known key found for this signature in database
GPG Key ID: 13E577E3769B2079
3 changed files with 37 additions and 38 deletions

View File

@ -24,18 +24,18 @@ where
} }
} }
// connect -> connack -> publish -> QoS ? -> disconn // connect -> connack -> publish -> QoS ? -> disconn
pub async fn send_message(&'a mut self, topic_name: & str, message: & str, qos: QualityOfService) -> impl Future<Output = Result<(), NetworkError>> { pub async fn send_message(&'a mut self, topic_name: & str, message: & str, qos: QualityOfService) -> Result<(), NetworkError> {
async move {
let mut len = { let mut len = {
let mut connect = ConnectPacket::<3, 0>::clean(); let mut connect = ConnectPacket::<3, 0>::clean();
connect.encode(self.buffer) connect.encode(self.buffer)
}; };
self.network_driver.send(self.buffer, len).await?; self.network_driver.send(self.buffer, len).await ?;
//connack //connack
let connack = { let connack = {
let connack = self.receive().await?; self.receive().await ?;
let mut packet = ConnackPacket::new(); let mut packet = ConnackPacket::new();
packet.decode(&mut BuffReader::new(self.buffer)); packet.decode(&mut BuffReader::new(self.buffer));
packet packet
@ -52,7 +52,7 @@ where
packet.encode(self.buffer) packet.encode(self.buffer)
}; };
self.network_driver.send(self.buffer, len).await?; self.network_driver.send(self.buffer, len).await ?;
//QoS1 //QoS1
@ -66,7 +66,6 @@ where
self.network_driver.send(self.buffer, len); self.network_driver.send(self.buffer, len);
Ok(()) Ok(())
} }
}
pub async fn receive(&'a mut self) -> Result<(), NetworkError> { pub async fn receive(&'a mut self) -> Result<(), NetworkError> {
self.network_driver.receive(self.buffer).await ?; self.network_driver.receive(self.buffer).await ?;

View File

@ -6,6 +6,7 @@ use rust_mqtt::packet::publish_packet::PublishPacket;
use rust_mqtt::packet::subscription_packet::SubscriptionPacket; use rust_mqtt::packet::subscription_packet::SubscriptionPacket;
use rust_mqtt::tokio_network::TokioNetwork; use rust_mqtt::tokio_network::TokioNetwork;
#[tokio::main]
fn main() { fn main() {
env_logger::builder() env_logger::builder()
.filter_level(log::LevelFilter::Info) .filter_level(log::LevelFilter::Info)

View File

@ -5,7 +5,6 @@ use core::fmt::Error;
use core::future::Future; use core::future::Future;
use core::ptr::null; use core::ptr::null;
use embassy::io::WriteAll;
use tokio::io::{AsyncReadExt, AsyncWriteExt}; use tokio::io::{AsyncReadExt, AsyncWriteExt};
use tokio::net::{TcpListener, TcpStream}; use tokio::net::{TcpListener, TcpStream};