summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2024-04-05 11:35:37 +0200
committerMatthias Beyer <mail@beyermatthias.de>2024-04-05 11:41:23 +0200
commit34f95c5a787175e89821e83075962593ec8d5ac8 (patch)
tree695e6203ea05f3edfadfc6064957532e4dea4b32
parentc1dd330208fdc4899e9f655cc9d8a308bfc20a32 (diff)
Add type aliases for handler functions
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--src/client/send.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/client/send.rs b/src/client/send.rs
index 1883a64..01a512e 100644
--- a/src/client/send.rs
+++ b/src/client/send.rs
@@ -213,14 +213,20 @@ fn get_next_packet_ident(
pub struct PacketIdentifierExhausted;
pub(crate) struct ClientHandlers {
- pub(crate) on_packet_recv: Box<dyn Fn(&crate::packets::MqttPacket) + Send>,
- pub(crate) handle_acknowledge: Box<dyn Fn(&crate::packets::MqttPacket) -> Acknowledge + Send>,
+ pub(crate) on_packet_recv: OnPacketRecvFn,
+ pub(crate) handle_acknowledge: HandleAcknowledgeFn,
// on_receive: Box<dyn Fn(&crate::packets::MqttPacket) + Send>,
// on_complete: Box<dyn Fn(&crate::packets::MqttPacket)+ Send>,
}
+pub type OnPacketRecvFn = Box<dyn Fn(&crate::packets::MqttPacket) + Send>;
+pub type HandleAcknowledgeFn = Box<
+ dyn for<'p> Fn(&'p crate::packets::MqttPacket) -> futures::future::BoxFuture<'p, Acknowledge>
+ + Send,
+>;
+
#[derive(Debug)]
-pub(crate) enum Acknowledge {
+pub enum Acknowledge {
No,
Yes,
YesWithProps {},