rainmaker_components/mqtt/
base.rs

1pub 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}