summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2024-04-04 12:41:40 +0200
committerMatthias Beyer <mail@beyermatthias.de>2024-04-04 12:44:14 +0200
commitb332dc2ff0721d50e93c447a6a03ed592fbefb85 (patch)
tree1fe78aa054ede6f5a7bc94623de1bb30ed5e0474
parent1b6dc404353adad805810ca52577c73946ee259d (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.rs8
-rw-r--r--src/client/send.rs22
-rw-r--r--src/client/state.rs20
-rw-r--r--src/packet_identifier.rs14
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)
}