#![forbid(unsafe_code)]
#![warn(missing_docs)]
#![allow(
clippy::expect_used,
clippy::unwrap_used,
clippy::panic,
clippy::print_stderr,
clippy::print_stdout,
clippy::field_reassign_with_default,
clippy::manual_flatten,
clippy::collapsible_if,
clippy::empty_line_after_doc_comments,
clippy::approx_constant,
clippy::unreachable,
clippy::uninlined_format_args,
clippy::drop_non_drop,
clippy::useless_conversion,
clippy::manual_strip,
missing_docs
)]
extern crate alloc;
pub mod codec;
pub mod control_packets;
pub mod data_types;
pub mod packet;
pub mod properties;
pub mod vbi;
pub use codec::{CodecError, decode_publish, encode_publish};
pub use control_packets::{
AckBody, AuthBody, ConnackBody, ConnectBody, DisconnectBody, PropertyDataType, SubackBody,
SubscribeBody, Subscription, UnsubackBody, UnsubscribeBody, decode_ack_body, decode_auth_body,
decode_connack_body, decode_connect_body, decode_disconnect_body, decode_suback_body,
decode_subscribe_body, decode_unsuback_body, decode_unsubscribe_body, encode_ack_body,
encode_auth_body, encode_connack_body, encode_connect_body, encode_disconnect_body,
encode_suback_body, encode_subscribe_body, encode_unsuback_body, encode_unsubscribe_body,
property_data_type,
};
pub use data_types::{
decode_binary_data, decode_two_byte_int, decode_utf8_string, encode_binary_data,
encode_two_byte_int, encode_utf8_string,
};
pub use packet::{ControlPacketType, FixedHeader};
pub use properties::{Property, PropertyId, PropertyValueKind};
pub use vbi::{decode_vbi, encode_vbi, vbi_size};
pub mod broker;
#[cfg(feature = "daemon")]
pub mod daemon;
pub mod dds_bridge;
pub mod keep_alive;
pub mod reason_codes;
pub mod topic_filter;
pub use broker::{
Broker, DeliveryEnvelope, QoS, RetainedMessage, Session, Subscription as BrokerSubscription,
Will,
};
pub use dds_bridge::{
BridgeStats, DdsDurability, DdsReliability, MqttDdsBridge, TopicMapper, dds_qos_to_mqtt,
forward_user_properties, mqtt_qos_to_dds,
};
pub use keep_alive::KeepAliveTracker;
pub use reason_codes::ReasonCode;
pub use topic_filter::{
TopicFilterError, matches as topic_matches, validate_filter, validate_topic_name,
};