rainmaker_components/mqtt/
base.rs1pub enum QoSLevel {
2 AtMostOnce,
3 AtLeastOnce,
4 ExactlyOnce,
5}
6
7pub struct MqttClient<T> {
8 pub(crate) client: T,
9}
10
11pub struct MqttConfiguration<'a> {
12 pub host: &'a str,
13 pub clientid: &'a str,
14 pub port: u16,
15}
16
17pub struct TLSconfiguration<'a> {
18 pub client_cert: &'a Vec<u8>,
19 pub private_key: &'a Vec<u8>,
20 pub server_cert: &'a Vec<u8>,
21}
22
23#[derive(Debug)]
24pub struct ReceivedMessage {
25 pub topic: String,
26 pub payload: Vec<u8>,
27}
28
29#[derive(Debug)]
30pub enum MqttEvent {
31 Connected,
32 Disconnected,
33 Published,
34 Subscribed,
35 BeforeConnect,
36 Received(ReceivedMessage),
37 Other,
38}