From 9b1069f429f8067dbe0fb7112f17c9936c6453ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20M=C3=BCller?= Date: Thu, 4 Apr 2024 12:37:43 +0200 Subject: Don't send a pingresp to server MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marcel Müller --- src/client/receive.rs | 21 +++------------------ 1 file 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>, -) -> 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(()) } -- cgit v1.2.3