summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2024-03-21 13:37:25 +0100
committerMatthias Beyer <mail@beyermatthias.de>2024-03-21 13:39:28 +0100
commitf149c855222244a87dd5659c5ad7755755332f8c (patch)
tree0391774debdffc4e74f45716c1be60bfc8c5c1a0
parent2c287853c19fb14201797854523d73e2f3a0e130 (diff)
Implement MConnack::write
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--mqtt-format/src/v5/packets/connack.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/mqtt-format/src/v5/packets/connack.rs b/mqtt-format/src/v5/packets/connack.rs
index a3af49f..357c8f9 100644
--- a/mqtt-format/src/v5/packets/connack.rs
+++ b/mqtt-format/src/v5/packets/connack.rs
@@ -28,6 +28,8 @@ use crate::v5::variable_header::SubscriptionIdentifiersAvailable;
use crate::v5::variable_header::TopicAliasMaximum;
use crate::v5::variable_header::UserProperties;
use crate::v5::variable_header::WildcardSubscriptionAvailable;
+use crate::v5::write::WResult;
+use crate::v5::write::WriteMqttPacket;
use crate::v5::MResult;
crate::v5::reason_code::make_combined_reason_code! {
@@ -145,4 +147,11 @@ impl<'i> MConnack<'i> {
})
.parse_next(input)
}
+
+ pub async fn write<W: WriteMqttPacket>(&self, buffer: &mut W) -> WResult<W> {
+ let byte = (self.session_present as u8) << 7;
+ buffer.write_byte(byte).await?;
+ self.reason_code.write(buffer).await?;
+ self.properties.write(buffer).await
+ }
}