Skip to content

Commit f7bc77e

Browse files
committed
fix(client): engine propagating the conversion error rather than panicking in Quinn.
1 parent cfebe7b commit f7bc77e

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

src/mqtt_client/engine.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -916,9 +916,12 @@ impl QuicMqttEngine {
916916
transport.datagram_receive_buffer_size(None);
917917
// Set max_idle_timeout to prevent QUIC from timing out before MQTT keepalive mechanism
918918
// Use 120 seconds to accommodate MQTT keepalive (typically 30-60s) with 2x multiplier for safety
919-
transport.max_idle_timeout(Some(
920-
std::time::Duration::from_secs(120).try_into().unwrap(),
921-
));
919+
let idle_timeout = std::time::Duration::from_secs(120)
920+
.try_into()
921+
.map_err(|e| MqttClientError::InternalError {
922+
message: format!("Failed to convert QUIC idle timeout: {}", e),
923+
})?;
924+
transport.max_idle_timeout(Some(idle_timeout));
922925
client_config.transport_config(Arc::new(transport));
923926

924927
let (ch, conn) = self

0 commit comments

Comments
 (0)