diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2024-03-21 13:37:25 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2024-03-21 13:39:28 +0100 |
commit | f149c855222244a87dd5659c5ad7755755332f8c (patch) | |
tree | 0391774debdffc4e74f45716c1be60bfc8c5c1a0 | |
parent | 2c287853c19fb14201797854523d73e2f3a0e130 (diff) |
Implement MConnack::write
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r-- | mqtt-format/src/v5/packets/connack.rs | 9 |
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 + } } |