diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2024-04-04 12:41:40 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2024-04-04 12:44:14 +0200 |
commit | b332dc2ff0721d50e93c447a6a03ed592fbefb85 (patch) | |
tree | 1fe78aa054ede6f5a7bc94623de1bb30ed5e0474 | |
parent | 1b6dc404353adad805810ca52577c73946ee259d (diff) |
Rename PacketIdentifierNonZero -> PacketIdentifier
Because there is never a packet identifier that is zero, we don't need
to call the type ...NonZero.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r-- | src/client/receive.rs | 8 | ||||
-rw-r--r-- | src/client/send.rs | 22 | ||||
-rw-r--r-- | src/client/state.rs | 20 | ||||
-rw-r--r-- | src/packet_identifier.rs | 14 |
4 files changed, 30 insertions, 34 deletions
diff --git a/src/client/receive.rs b/src/client/receive.rs index 3ebf76b..a239e41 100644 --- a/src/client/receive.rs +++ b/src/client/receive.rs @@ -15,7 +15,7 @@ use yoke::Yoke; use super::InnerClient; use crate::codecs::MqttPacketCodec; -use crate::packet_identifier::PacketIdentifierNonZero; +use crate::packet_identifier::PacketIdentifier; use crate::packets::MqttPacket; use crate::packets::MqttWriter; use crate::packets::StableBytes; @@ -148,7 +148,7 @@ async fn handle_pubcomp( tracing::error!("No session state found"); todo!() }; - let pident = PacketIdentifierNonZero::try_from(pubcomp.packet_identifier) + let pident = PacketIdentifier::try_from(pubcomp.packet_identifier) .expect("zero PacketIdentifier not valid here"); tracing::Span::current().record("packet_identifier", tracing::field::display(pident)); @@ -189,7 +189,7 @@ async fn handle_puback( todo!() }; - let pident = PacketIdentifierNonZero::try_from(mpuback.packet_identifier) + let pident = PacketIdentifier::try_from(mpuback.packet_identifier) .expect("Zero PacketIdentifier not valid here"); tracing::Span::current().record("packet_identifier", tracing::field::display(pident)); @@ -236,7 +236,7 @@ async fn handle_pubrec( tracing::error!("No session state found"); todo!() }; - let pident = PacketIdentifierNonZero::try_from(pubrec.packet_identifier) + let pident = PacketIdentifier::try_from(pubrec.packet_identifier) .expect("zero PacketIdentifier not valid here"); tracing::Span::current().record("packet_identifier", tracing::field::display(pident)); diff --git a/src/client/send.rs b/src/client/send.rs index 855a389..32945fe 100644 --- a/src/client/send.rs +++ b/src/client/send.rs @@ -15,7 +15,7 @@ use tracing::Instrument; use super::state::OutstandingPackets; use super::MqttClient; -use crate::packet_identifier::PacketIdentifierNonZero; +use crate::packet_identifier::PacketIdentifier; use crate::packets::MqttPacket; use crate::payload::MqttPayload; use crate::qos::QualityOfService; @@ -189,11 +189,11 @@ impl MqttClient { fn get_next_packet_ident( next_packet_ident: &mut std::num::NonZeroU16, outstanding_packets: &OutstandingPackets, -) -> Result<PacketIdentifierNonZero, PacketIdentifierExhausted> { +) -> Result<PacketIdentifier, PacketIdentifierExhausted> { let start = *next_packet_ident; loop { - let next = PacketIdentifierNonZero::from(*next_packet_ident); + let next = PacketIdentifier::from(*next_packet_ident); if !outstanding_packets.exists_outstanding_packet(next) { return Ok(next); @@ -230,9 +230,9 @@ pub(crate) enum Acknowledge { pub(crate) struct Callbacks { ping_req: VecDeque<futures::channel::oneshot::Sender<()>>, - qos1: HashMap<PacketIdentifierNonZero, Qos1Callbacks>, - qos2_receive: HashMap<PacketIdentifierNonZero, Qos2ReceiveCallback>, - qos2_complete: HashMap<PacketIdentifierNonZero, Qos2CompleteCallback>, + qos1: HashMap<PacketIdentifier, Qos1Callbacks>, + qos2_receive: HashMap<PacketIdentifier, Qos2ReceiveCallback>, + qos2_complete: HashMap<PacketIdentifier, Qos2CompleteCallback>, } impl Callbacks { @@ -249,13 +249,13 @@ impl Callbacks { self.ping_req.push_back(cb); } - pub(crate) fn add_qos1(&mut self, id: PacketIdentifierNonZero, cb: Qos1Callbacks) { + pub(crate) fn add_qos1(&mut self, id: PacketIdentifier, cb: Qos1Callbacks) { self.qos1.insert(id, cb); } pub(crate) fn add_qos2( &mut self, - id: PacketIdentifierNonZero, + id: PacketIdentifier, rec: Qos2ReceiveCallback, comp: Qos2CompleteCallback, ) { @@ -267,20 +267,20 @@ impl Callbacks { self.ping_req.pop_front() } - pub(crate) fn take_qos1(&mut self, id: PacketIdentifierNonZero) -> Option<Qos1Callbacks> { + pub(crate) fn take_qos1(&mut self, id: PacketIdentifier) -> Option<Qos1Callbacks> { self.qos1.remove(&id) } pub(crate) fn take_qos2_receive( &mut self, - id: PacketIdentifierNonZero, + id: PacketIdentifier, ) -> Option<Qos2ReceiveCallback> { self.qos2_receive.remove(&id) } pub(crate) fn take_qos2_complete( &mut self, - id: PacketIdentifierNonZero, + id: PacketIdentifier, ) -> Option<Qos2CompleteCallback> { self.qos2_complete.remove(&id) } diff --git a/src/client/state.rs b/src/client/state.rs index d44b182..40f91d8 100644 --- a/src/client/state.rs +++ b/src/client/state.rs @@ -10,7 +10,7 @@ use tokio_util::codec::FramedRead; use tokio_util::codec::FramedWrite; use crate::codecs::MqttPacketCodec; -use crate::packet_identifier::PacketIdentifierNonZero; +use crate::packet_identifier::PacketIdentifier; use crate::string::MqttString; use crate::transport::MqttConnection; @@ -36,9 +36,9 @@ pub(super) struct SessionState { } pub(super) struct OutstandingPackets { - pub(super) packet_ident_order: Vec<PacketIdentifierNonZero>, + pub(super) packet_ident_order: Vec<PacketIdentifier>, pub(super) outstanding_packets: - std::collections::BTreeMap<PacketIdentifierNonZero, crate::packets::MqttPacket>, + std::collections::BTreeMap<PacketIdentifier, crate::packets::MqttPacket>, } impl OutstandingPackets { @@ -49,7 +49,7 @@ impl OutstandingPackets { } } - pub fn insert(&mut self, ident: PacketIdentifierNonZero, packet: crate::packets::MqttPacket) { + pub fn insert(&mut self, ident: PacketIdentifier, packet: crate::packets::MqttPacket) { debug_assert_eq!( self.packet_ident_order.len(), self.outstanding_packets.len() @@ -61,11 +61,7 @@ impl OutstandingPackets { debug_assert!(removed.is_none()); } - pub fn update_by_id( - &mut self, - ident: PacketIdentifierNonZero, - packet: crate::packets::MqttPacket, - ) { + pub fn update_by_id(&mut self, ident: PacketIdentifier, packet: crate::packets::MqttPacket) { debug_assert_eq!( self.packet_ident_order.len(), self.outstanding_packets.len() @@ -76,19 +72,19 @@ impl OutstandingPackets { debug_assert!(removed.is_some()); } - pub fn exists_outstanding_packet(&self, ident: PacketIdentifierNonZero) -> bool { + pub fn exists_outstanding_packet(&self, ident: PacketIdentifier) -> bool { self.outstanding_packets.contains_key(&ident) } pub fn iter_in_send_order( &self, - ) -> impl Iterator<Item = (PacketIdentifierNonZero, &crate::packets::MqttPacket)> { + ) -> impl Iterator<Item = (PacketIdentifier, &crate::packets::MqttPacket)> { self.packet_ident_order .iter() .flat_map(|id| self.outstanding_packets.get(id).map(|p| (*id, p))) } - pub fn remove_by_id(&mut self, id: PacketIdentifierNonZero) { + pub fn remove_by_id(&mut self, id: PacketIdentifier) { // Vec::retain() preserves order self.packet_ident_order.retain(|&elm| elm != id); self.outstanding_packets.remove(&id); diff --git a/src/packet_identifier.rs b/src/packet_identifier.rs index 94ae08e..ff7127b 100644 --- a/src/packet_identifier.rs +++ b/src/packet_identifier.rs @@ -5,22 +5,22 @@ // #[derive(Debug, Clone, Copy, Hash, PartialEq, Eq, PartialOrd, Ord)] -pub struct PacketIdentifierNonZero(std::num::NonZeroU16); +pub struct PacketIdentifier(std::num::NonZeroU16); -impl PacketIdentifierNonZero { +impl PacketIdentifier { #[inline] pub fn get(&self) -> u16 { self.0.get() } } -impl std::fmt::Display for PacketIdentifierNonZero { +impl std::fmt::Display for PacketIdentifier { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { self.0.fmt(f) } } -impl TryFrom<mqtt_format::v5::variable_header::PacketIdentifier> for PacketIdentifierNonZero { +impl TryFrom<mqtt_format::v5::variable_header::PacketIdentifier> for PacketIdentifier { type Error = (); // TODO fn try_from( @@ -32,13 +32,13 @@ impl TryFrom<mqtt_format::v5::variable_header::PacketIdentifier> for PacketIdent } } -impl From<PacketIdentifierNonZero> for mqtt_format::v5::variable_header::PacketIdentifier { - fn from(value: PacketIdentifierNonZero) -> mqtt_format::v5::variable_header::PacketIdentifier { +impl From<PacketIdentifier> for mqtt_format::v5::variable_header::PacketIdentifier { + fn from(value: PacketIdentifier) -> mqtt_format::v5::variable_header::PacketIdentifier { mqtt_format::v5::variable_header::PacketIdentifier(value.0) } } -impl From<std::num::NonZeroU16> for PacketIdentifierNonZero { +impl From<std::num::NonZeroU16> for PacketIdentifier { fn from(value: std::num::NonZeroU16) -> Self { Self(value) } |