SPSP
Simple publish-subscribe protocol. Connects low power IoT clients to MQTT.
Main Page
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
~
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
z
~
Variables
_
a
b
c
e
h
i
k
l
m
n
p
q
r
s
t
u
v
Files
File List
•
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
include
common
spsp
mqtt_types.hpp
Go to the documentation of this file.
1
10
#pragma once
11
12
#include <chrono>
13
#include <cstdint>
14
15
#include "
spsp/exception.hpp
"
16
17
namespace
SPSP::FarLayers::MQTT
18
{
19
static
constexpr
const
char
* MQTT_CLIENT_ID_PREFIX =
"spsp_"
;
20
26
class
ConnectionError
:
public
SPSP::Exception
27
{
28
using
SPSP::Exception::Exception
;
29
};
30
35
struct
Config
36
{
37
struct
Connection
38
{
39
std::string
uri
;
40
48
std::string
verifyCrt
;
49
50
uint32_t
keepalive
= 120;
51
int
qos
= 0;
52
bool
retain
=
false
;
53
54
std::chrono::milliseconds
timeout
= std::chrono::seconds(10);
55
};
56
57
struct
Auth
58
{
59
std::string
username
;
60
std::string
password
;
61
70
std::string
clientId
;
71
80
std::string
crt
;
81
88
std::string
crtKey
;
89
};
90
91
struct
LastWill
92
{
93
std::string
topic
;
94
std::string
msg
;
95
int
qos
= 0;
96
bool
retain
=
false
;
97
};
98
106
std::string
pubTopicPrefix
=
"spsp"
;
107
108
Connection
connection;
109
Auth
auth;
110
LastWill
lastWill;
111
};
112
}
// namespace SPSP::FarLayers::MQTT
SPSP::FarLayers::MQTT::Config::Connection::qos
int qos
QoS for sent messages and subscriptions.
Definition:
mqtt_types.hpp:51
SPSP::FarLayers::MQTT::Config::Auth::username
std::string username
Username for connection (can also be set by URI)
Definition:
mqtt_types.hpp:59
SPSP::FarLayers::MQTT::Config::Auth::crt
std::string crt
Definition:
mqtt_types.hpp:80
SPSP::FarLayers::MQTT::Config::Connection::keepalive
uint32_t keepalive
Keepalive interval in seconds (set to 0 to disable keepalive)
Definition:
mqtt_types.hpp:50
SPSP::FarLayers::MQTT::Config::Auth::password
std::string password
Password for connection (can also be set by URI)
Definition:
mqtt_types.hpp:60
SPSP::FarLayers::MQTT::Config::Connection::verifyCrt
std::string verifyCrt
Definition:
mqtt_types.hpp:48
SPSP::FarLayers::MQTT::Config::LastWill::msg
std::string msg
LWT message.
Definition:
mqtt_types.hpp:94
SPSP::FarLayers::MQTT::Config::pubTopicPrefix
std::string pubTopicPrefix
Definition:
mqtt_types.hpp:106
SPSP::FarLayers::MQTT::Config::Auth::crtKey
std::string crtKey
Definition:
mqtt_types.hpp:88
SPSP::FarLayers::MQTT::Config::LastWill::topic
std::string topic
LWT topic.
Definition:
mqtt_types.hpp:93
SPSP::FarLayers::MQTT::Config
MQTT client configuration.
Definition:
mqtt_types.hpp:35
SPSP::FarLayers::MQTT::Config::Connection::retain
bool retain
Retain flag for sent messages.
Definition:
mqtt_types.hpp:52
SPSP::FarLayers::MQTT::ConnectionError
MQTT connection error.
Definition:
mqtt_types.hpp:26
SPSP::FarLayers::MQTT::Config::Connection::uri
std::string uri
Definition:
mqtt_types.hpp:39
SPSP::FarLayers::MQTT::Config::LastWill::qos
int qos
LWT QoS.
Definition:
mqtt_types.hpp:95
SPSP::FarLayers::MQTT::Config::Connection::timeout
std::chrono::milliseconds timeout
Connection timeout.
Definition:
mqtt_types.hpp:54
SPSP::FarLayers::MQTT::Config::Auth::clientId
std::string clientId
Definition:
mqtt_types.hpp:70
SPSP::Exception::Exception
Exception(const std::string &msg)
Constructs a new exception.
Definition:
exception.hpp:31
SPSP::FarLayers::MQTT::Config::LastWill::retain
bool retain
LWT retain flag.
Definition:
mqtt_types.hpp:96
SPSP::FarLayers::MQTT::Config::LastWill
Definition:
mqtt_types.hpp:91
SPSP::FarLayers::MQTT::Config::Auth
Definition:
mqtt_types.hpp:57
exception.hpp
Base of all SPSP exceptions.
SPSP::FarLayers::MQTT::Config::Connection
Definition:
mqtt_types.hpp:37
SPSP::Exception
Base SPSP exception.
Definition:
exception.hpp:21
Generated by
1.8.17