summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Müller <neikos@neikos.email>2024-04-04 12:37:43 +0200
committerMarcel Müller <neikos@neikos.email>2024-04-04 12:37:43 +0200
commit9b1069f429f8067dbe0fb7112f17c9936c6453ab (patch)
tree70375afbf77d2143f97c0e2f647e002d3509b8fa
parent04b96d6c1c43f90c3cb78cf6cc91c1c3771a4041 (diff)
Don't send a pingresp to server
Signed-off-by: Marcel Müller <neikos@neikos.email>
-rw-r--r--src/client/receive.rs21
1 files changed, 3 insertions, 18 deletions
diff --git a/src/client/receive.rs b/src/client/receive.rs
index 3ebf76b..19949ba 100644
--- a/src/client/receive.rs
+++ b/src/client/receive.rs
@@ -51,9 +51,7 @@ pub(super) async fn handle_background_receiving(
mqtt_format::v5::packets::MqttPacket::Auth(_) => todo!(),
mqtt_format::v5::packets::MqttPacket::Disconnect(_) => todo!(),
mqtt_format::v5::packets::MqttPacket::Pingreq(pingreq) => {
- handle_pingreq(pingreq, &inner)
- .instrument(process_span)
- .await?
+ handle_pingreq(pingreq).instrument(process_span).await?
}
mqtt_format::v5::packets::MqttPacket::Pingresp(pingresp) => {
handle_pingresp(pingresp, &inner)
@@ -116,21 +114,8 @@ async fn handle_pingresp(
Ok(())
}
-async fn handle_pingreq(
- _pingreq: &mqtt_format::v5::packets::pingreq::MPingreq,
- inner: &Arc<Mutex<InnerClient>>,
-) -> Result<(), ()> {
- let mut inner = inner.lock().await;
- let inner = &mut *inner;
- let Some(ref mut conn_state) = inner.connection_state else {
- tracing::error!("No connection state found");
- todo!()
- };
-
- let packet = mqtt_format::v5::packets::MqttPacket::Pingresp(
- mqtt_format::v5::packets::pingresp::MPingresp,
- );
- conn_state.conn_write.send(packet).await.map_err(drop)?;
+async fn handle_pingreq(_pingreq: &mqtt_format::v5::packets::pingreq::MPingreq) -> Result<(), ()> {
+ tracing::warn!("Received an unwarranted PingReq from the server. This is unclear in the spec. Ignoring and continuing...");
Ok(())
}