rust_mqtt/config/
server.rs1use core::num::NonZero;
2
3use crate::{
4 config::{MaximumPacketSize, ReceiveMaximum},
5 types::QoS,
6};
7
8#[derive(Debug, Clone, Copy)]
10#[cfg_attr(feature = "defmt", derive(defmt::Format))]
11pub struct Config {
12 pub receive_maximum: ReceiveMaximum,
14
15 pub maximum_qos: QoS,
17
18 pub retain_supported: bool,
20
21 pub maximum_packet_size: MaximumPacketSize,
23
24 pub topic_alias_maximum: u16,
27
28 pub wildcard_subscription_supported: bool,
30 pub subscription_identifiers_supported: bool,
32 pub shared_subscription_supported: bool,
34}
35
36impl Default for Config {
37 fn default() -> Self {
38 Self {
39 receive_maximum: ReceiveMaximum(NonZero::new(u16::MAX).unwrap()),
40 maximum_qos: QoS::ExactlyOnce,
41 retain_supported: true,
42 maximum_packet_size: MaximumPacketSize::default(),
43 topic_alias_maximum: 0,
44 wildcard_subscription_supported: true,
45 subscription_identifiers_supported: true,
46 shared_subscription_supported: true,
47 }
48 }
49}