parent
37bf023dbf
commit
63314fc867
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "rust-mqtt"
|
name = "rust-mqtt"
|
||||||
version = "0.1.2"
|
version = "0.1.3"
|
||||||
authors = ["Ondrej Babec <ond.babec@gmail.com>"]
|
authors = ["Ondrej Babec <ond.babec@gmail.com>"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
resolver = "2"
|
resolver = "2"
|
||||||
|
@ -28,4 +28,5 @@ serial_test = "0.6.0"
|
||||||
[features]
|
[features]
|
||||||
default = ["std"]
|
default = ["std"]
|
||||||
std = ["tokio", "log"]
|
std = ["tokio", "log"]
|
||||||
no_std = ["defmt"]
|
no_std = ["defmt"]
|
||||||
|
tls = []
|
|
@ -478,7 +478,7 @@ where
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn send_ping_v5<'b>(&'b mut self) -> Result<(), ReasonCode> {
|
async fn send_ping_v5<'b>(&'b mut self) -> Result<(), ReasonCode> {
|
||||||
if self.connection.is_none() {
|
if self.connection.is_none() {
|
||||||
return Err(ReasonCode::NetworkError);
|
return Err(ReasonCode::NetworkError);
|
||||||
}
|
}
|
||||||
|
@ -513,6 +513,7 @@ where
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(not(feature = "tls"))]
|
||||||
async fn receive_packet<'c, T: NetworkConnection>(
|
async fn receive_packet<'c, T: NetworkConnection>(
|
||||||
buffer: &mut [u8],
|
buffer: &mut [u8],
|
||||||
buffer_len: usize,
|
buffer_len: usize,
|
||||||
|
@ -548,7 +549,7 @@ async fn receive_packet<'c, T: NetworkConnection>(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
trace!("Lenght done!");
|
||||||
let rem_len_len = i;
|
let rem_len_len = i;
|
||||||
i = 0;
|
i = 0;
|
||||||
if let Ok(l) = VariableByteIntegerDecoder::decode(rem_len.unwrap()) {
|
if let Ok(l) = VariableByteIntegerDecoder::decode(rem_len.unwrap()) {
|
||||||
|
@ -575,3 +576,23 @@ async fn receive_packet<'c, T: NetworkConnection>(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "tls")]
|
||||||
|
async fn receive_packet<'c, T: NetworkConnection>(
|
||||||
|
buffer: &mut [u8],
|
||||||
|
buffer_len: usize,
|
||||||
|
recv_buffer: &mut [u8],
|
||||||
|
conn: &'c mut T,
|
||||||
|
) -> Result<usize, ReasonCode> {
|
||||||
|
trace!("Reading packet");
|
||||||
|
let mut writer = BuffWriter::new(buffer, buffer_len);
|
||||||
|
let len = conn
|
||||||
|
.receive(recv_buffer)
|
||||||
|
.await?;
|
||||||
|
if let Err(_e) = writer.insert_ref(len, &recv_buffer[writer.position..(writer.position + len)])
|
||||||
|
{
|
||||||
|
error!("Error occurred during write to buffer!");
|
||||||
|
return Err(BuffError);
|
||||||
|
}
|
||||||
|
Ok(len)
|
||||||
|
}
|
||||||
|
|
|
@ -54,9 +54,7 @@ pub trait NetworkConnection {
|
||||||
where
|
where
|
||||||
Self: 'm;
|
Self: 'm;
|
||||||
|
|
||||||
type CloseFuture<'m>: Future<Output = Result<(), ReasonCode>>
|
type CloseFuture<'m>: Future<Output = Result<(), ReasonCode>>;
|
||||||
where
|
|
||||||
Self: 'm;
|
|
||||||
|
|
||||||
fn send<'m>(&'m mut self, buffer: &'m [u8]) -> Self::SendFuture<'m>;
|
fn send<'m>(&'m mut self, buffer: &'m [u8]) -> Self::SendFuture<'m>;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user