Commit 54a4385b84bc780eae251132cf021fd93fc16730
1 parent
5454f1c4
chore: apply some coding-style suggestions from SonarCloud
Showing
7 changed files
with
82 additions
and
72 deletions
include/TrueMQTT.h
| ... | ... | @@ -132,7 +132,7 @@ namespace TrueMQTT |
| 132 | 132 | * @note This library doesn't contain a logger, so you need to provide one. |
| 133 | 133 | * If this method is not called, no logging will be done. |
| 134 | 134 | */ |
| 135 | - void setLogger(LogLevel log_level, std::function<void(LogLevel, std::string)> logger); | |
| 135 | + void setLogger(LogLevel log_level, const std::function<void(LogLevel, std::string)> &logger) const; | |
| 136 | 136 | |
| 137 | 137 | /** |
| 138 | 138 | * @brief Set the last will message on the connection. |
| ... | ... | @@ -143,14 +143,14 @@ namespace TrueMQTT |
| 143 | 143 | * |
| 144 | 144 | * @note Cannot be called after \ref connect. |
| 145 | 145 | */ |
| 146 | - void setLastWill(const std::string &topic, const std::string &payload, bool retain); | |
| 146 | + void setLastWill(const std::string &topic, const std::string &payload, bool retain) const; | |
| 147 | 147 | |
| 148 | 148 | /** |
| 149 | 149 | * @brief Set the error callback, called when any error occurs. |
| 150 | 150 | * |
| 151 | 151 | * @param callback The callback to call when an error occurs. |
| 152 | 152 | */ |
| 153 | - void setErrorCallback(std::function<void(Error, std::string)> callback); | |
| 153 | + void setErrorCallback(const std::function<void(Error, std::string)> &callback) const; | |
| 154 | 154 | |
| 155 | 155 | /** |
| 156 | 156 | * @brief Set the publish queue to use. |
| ... | ... | @@ -160,7 +160,7 @@ namespace TrueMQTT |
| 160 | 160 | * |
| 161 | 161 | * @note Cannot be called after \ref connect. |
| 162 | 162 | */ |
| 163 | - void setPublishQueue(PublishQueueType queue_type, size_t size); | |
| 163 | + void setPublishQueue(PublishQueueType queue_type, size_t size) const; | |
| 164 | 164 | |
| 165 | 165 | /** |
| 166 | 166 | * @brief Connect to the broker. |
| ... | ... | @@ -174,7 +174,7 @@ namespace TrueMQTT |
| 174 | 174 | * |
| 175 | 175 | * @note Calling connect twice has no effect. |
| 176 | 176 | */ |
| 177 | - void connect(); | |
| 177 | + void connect() const; | |
| 178 | 178 | |
| 179 | 179 | /** |
| 180 | 180 | * @brief Disconnect from the broker. |
| ... | ... | @@ -187,7 +187,7 @@ namespace TrueMQTT |
| 187 | 187 | * moment the connection to the broker is established, and there are messages in the |
| 188 | 188 | * publish queue and/or subscriptions. |
| 189 | 189 | */ |
| 190 | - void disconnect(); | |
| 190 | + void disconnect() const; | |
| 191 | 191 | |
| 192 | 192 | /** |
| 193 | 193 | * @brief Publish a payload on a topic. |
| ... | ... | @@ -210,7 +210,7 @@ namespace TrueMQTT |
| 210 | 210 | * moment the connection to the broker is established, and there are messages in the |
| 211 | 211 | * publish queue and/or subscriptions. |
| 212 | 212 | */ |
| 213 | - void publish(const std::string &topic, const std::string &payload, bool retain); | |
| 213 | + void publish(const std::string &topic, const std::string &payload, bool retain) const; | |
| 214 | 214 | |
| 215 | 215 | /** |
| 216 | 216 | * @brief Subscribe to a topic, and call the callback function when a message arrives. |
| ... | ... | @@ -242,7 +242,7 @@ namespace TrueMQTT |
| 242 | 242 | * moment the connection to the broker is established, and there are messages in the |
| 243 | 243 | * publish queue and/or subscriptions. |
| 244 | 244 | */ |
| 245 | - void subscribe(const std::string &topic, std::function<void(std::string, std::string)> callback); | |
| 245 | + void subscribe(const std::string &topic, const std::function<void(std::string, std::string)> &callback) const; | |
| 246 | 246 | |
| 247 | 247 | /** |
| 248 | 248 | * @brief Unsubscribe from a topic. |
| ... | ... | @@ -258,7 +258,7 @@ namespace TrueMQTT |
| 258 | 258 | * moment the connection to the broker is established, and there are messages in the |
| 259 | 259 | * publish queue and/or subscriptions. |
| 260 | 260 | */ |
| 261 | - void unsubscribe(const std::string &topic); | |
| 261 | + void unsubscribe(const std::string &topic) const; | |
| 262 | 262 | |
| 263 | 263 | private: |
| 264 | 264 | // Private implementation | ... | ... |
src/Client.cpp
| ... | ... | @@ -28,7 +28,7 @@ Client::~Client() |
| 28 | 28 | this->disconnect(); |
| 29 | 29 | } |
| 30 | 30 | |
| 31 | -void Client::setLogger(Client::LogLevel log_level, std::function<void(Client::LogLevel, std::string)> logger) | |
| 31 | +void Client::setLogger(Client::LogLevel log_level, const std::function<void(Client::LogLevel, std::string)> &logger) const | |
| 32 | 32 | { |
| 33 | 33 | LOG_TRACE(this->m_impl, "Setting logger to log level " + std::to_string(log_level)); |
| 34 | 34 | |
| ... | ... | @@ -38,7 +38,7 @@ void Client::setLogger(Client::LogLevel log_level, std::function<void(Client::Lo |
| 38 | 38 | LOG_DEBUG(this->m_impl, "Log level now on " + std::to_string(this->m_impl->log_level)); |
| 39 | 39 | } |
| 40 | 40 | |
| 41 | -void Client::setLastWill(const std::string &topic, const std::string &payload, bool retain) | |
| 41 | +void Client::setLastWill(const std::string &topic, const std::string &payload, bool retain) const | |
| 42 | 42 | { |
| 43 | 43 | if (this->m_impl->state != Client::Impl::State::DISCONNECTED) |
| 44 | 44 | { |
| ... | ... | @@ -53,14 +53,14 @@ void Client::setLastWill(const std::string &topic, const std::string &payload, b |
| 53 | 53 | this->m_impl->last_will_retain = retain; |
| 54 | 54 | } |
| 55 | 55 | |
| 56 | -void Client::setErrorCallback(std::function<void(Error, std::string)> callback) | |
| 56 | +void Client::setErrorCallback(const std::function<void(Error, std::string)> &callback) const | |
| 57 | 57 | { |
| 58 | 58 | LOG_TRACE(this->m_impl, "Setting error callback"); |
| 59 | 59 | |
| 60 | 60 | this->m_impl->error_callback = callback; |
| 61 | 61 | } |
| 62 | 62 | |
| 63 | -void Client::setPublishQueue(Client::PublishQueueType queue_type, size_t size) | |
| 63 | +void Client::setPublishQueue(Client::PublishQueueType queue_type, size_t size) const | |
| 64 | 64 | { |
| 65 | 65 | if (this->m_impl->state != Client::Impl::State::DISCONNECTED) |
| 66 | 66 | { |
| ... | ... | @@ -74,7 +74,7 @@ void Client::setPublishQueue(Client::PublishQueueType queue_type, size_t size) |
| 74 | 74 | this->m_impl->publish_queue_size = size; |
| 75 | 75 | } |
| 76 | 76 | |
| 77 | -void Client::connect() | |
| 77 | +void Client::connect() const | |
| 78 | 78 | { |
| 79 | 79 | std::scoped_lock lock(this->m_impl->state_mutex); |
| 80 | 80 | |
| ... | ... | @@ -89,7 +89,7 @@ void Client::connect() |
| 89 | 89 | this->m_impl->connect(); |
| 90 | 90 | } |
| 91 | 91 | |
| 92 | -void Client::disconnect() | |
| 92 | +void Client::disconnect() const | |
| 93 | 93 | { |
| 94 | 94 | std::scoped_lock lock(this->m_impl->state_mutex); |
| 95 | 95 | |
| ... | ... | @@ -105,7 +105,7 @@ void Client::disconnect() |
| 105 | 105 | this->m_impl->disconnect(); |
| 106 | 106 | } |
| 107 | 107 | |
| 108 | -void Client::publish(const std::string &topic, const std::string &payload, bool retain) | |
| 108 | +void Client::publish(const std::string &topic, const std::string &payload, bool retain) const | |
| 109 | 109 | { |
| 110 | 110 | std::scoped_lock lock(this->m_impl->state_mutex); |
| 111 | 111 | |
| ... | ... | @@ -125,7 +125,7 @@ void Client::publish(const std::string &topic, const std::string &payload, bool |
| 125 | 125 | } |
| 126 | 126 | } |
| 127 | 127 | |
| 128 | -void Client::subscribe(const std::string &topic, std::function<void(std::string, std::string)> callback) | |
| 128 | +void Client::subscribe(const std::string &topic, const std::function<void(std::string, std::string)> &callback) const | |
| 129 | 129 | { |
| 130 | 130 | std::scoped_lock lock(this->m_impl->state_mutex); |
| 131 | 131 | |
| ... | ... | @@ -143,10 +143,10 @@ void Client::subscribe(const std::string &topic, std::function<void(std::string, |
| 143 | 143 | std::getline(stopic, part, '/'); |
| 144 | 144 | |
| 145 | 145 | // Find the root node, and walk down till we find the leaf node. |
| 146 | - Client::Impl::SubscriptionPart *subscriptions = &this->m_impl->subscriptions.try_emplace(part, Client::Impl::SubscriptionPart()).first->second; | |
| 146 | + Client::Impl::SubscriptionPart *subscriptions = &this->m_impl->subscriptions.try_emplace(part).first->second; | |
| 147 | 147 | while (std::getline(stopic, part, '/')) |
| 148 | 148 | { |
| 149 | - subscriptions = &subscriptions->children.try_emplace(part, Client::Impl::SubscriptionPart()).first->second; | |
| 149 | + subscriptions = &subscriptions->children.try_emplace(part).first->second; | |
| 150 | 150 | } |
| 151 | 151 | // Add the callback to the leaf node. |
| 152 | 152 | subscriptions->callbacks.push_back(callback); |
| ... | ... | @@ -158,7 +158,7 @@ void Client::subscribe(const std::string &topic, std::function<void(std::string, |
| 158 | 158 | } |
| 159 | 159 | } |
| 160 | 160 | |
| 161 | -void Client::unsubscribe(const std::string &topic) | |
| 161 | +void Client::unsubscribe(const std::string &topic) const | |
| 162 | 162 | { |
| 163 | 163 | std::scoped_lock lock(this->m_impl->state_mutex); |
| 164 | 164 | |
| ... | ... | @@ -178,11 +178,11 @@ void Client::unsubscribe(const std::string &topic) |
| 178 | 178 | // Find the root node, and walk down till we find the leaf node. |
| 179 | 179 | std::vector<std::tuple<std::string, Client::Impl::SubscriptionPart *>> reverse; |
| 180 | 180 | Client::Impl::SubscriptionPart *subscriptions = &this->m_impl->subscriptions[part]; |
| 181 | - reverse.push_back({part, subscriptions}); | |
| 181 | + reverse.emplace_back(part, subscriptions); | |
| 182 | 182 | while (std::getline(stopic, part, '/')) |
| 183 | 183 | { |
| 184 | 184 | subscriptions = &subscriptions->children[part]; |
| 185 | - reverse.push_back({part, subscriptions}); | |
| 185 | + reverse.emplace_back(part, subscriptions); | |
| 186 | 186 | } |
| 187 | 187 | // Clear the callbacks in the leaf node. |
| 188 | 188 | subscriptions->callbacks.clear(); |
| ... | ... | @@ -240,9 +240,9 @@ void Client::Impl::connectionStateChange(bool connected) |
| 240 | 240 | this->sendSubscribe(subscription); |
| 241 | 241 | } |
| 242 | 242 | // Flush the publish queue. |
| 243 | - for (auto &message : this->publish_queue) | |
| 243 | + for (const auto &[topic, payload, retain] : this->publish_queue) | |
| 244 | 244 | { |
| 245 | - this->sendPublish(std::get<0>(message), std::get<1>(message), std::get<2>(message)); | |
| 245 | + this->sendPublish(topic, payload, retain); | |
| 246 | 246 | } |
| 247 | 247 | this->publish_queue.clear(); |
| 248 | 248 | } |
| ... | ... | @@ -283,13 +283,13 @@ void Client::Impl::toPublishQueue(const std::string &topic, const std::string &p |
| 283 | 283 | } |
| 284 | 284 | |
| 285 | 285 | LOG_TRACE(this, "Adding message to publish queue"); |
| 286 | - this->publish_queue.push_back({topic, payload, retain}); | |
| 286 | + this->publish_queue.emplace_back(topic, payload, retain); | |
| 287 | 287 | } |
| 288 | 288 | |
| 289 | 289 | void Client::Impl::findSubscriptionMatch(std::vector<std::function<void(std::string, std::string)>> &matching_callbacks, const std::map<std::string, Client::Impl::SubscriptionPart> &subscriptions, std::deque<std::string> &parts) |
| 290 | 290 | { |
| 291 | 291 | // If we reached the end of the topic, do nothing anymore. |
| 292 | - if (parts.size() == 0) | |
| 292 | + if (parts.empty()) | |
| 293 | 293 | { |
| 294 | 294 | return; |
| 295 | 295 | } |
| ... | ... | @@ -357,7 +357,7 @@ void Client::Impl::messageReceived(std::string topic, std::string payload) |
| 357 | 357 | } |
| 358 | 358 | else |
| 359 | 359 | { |
| 360 | - for (auto &callback : matching_callbacks) | |
| 360 | + for (const auto &callback : matching_callbacks) | |
| 361 | 361 | { |
| 362 | 362 | callback(topic, payload); |
| 363 | 363 | } | ... | ... |
src/ClientImpl.h
| ... | ... | @@ -68,14 +68,14 @@ public: |
| 68 | 68 | int connection_backoff_max; ///< Maximum time between backoff attempts in seconds. |
| 69 | 69 | int keep_alive_interval; ///< Interval in seconds between keep-alive messages. |
| 70 | 70 | |
| 71 | - Client::LogLevel log_level = Client::LogLevel::NONE; ///< The log level to use. | |
| 72 | - std::function<void(Client::LogLevel, std::string)> logger = [](Client::LogLevel, std::string) {}; ///< Logger callback. | |
| 71 | + Client::LogLevel log_level = Client::LogLevel::NONE; ///< The log level to use. | |
| 72 | + std::function<void(Client::LogLevel, std::string)> logger = std::move([](Client::LogLevel, std::string) { /* empty */ }); ///< Logger callback. | |
| 73 | 73 | |
| 74 | 74 | std::string last_will_topic = ""; ///< Topic to publish the last will message to. |
| 75 | 75 | std::string last_will_payload = ""; ///< Payload of the last will message. |
| 76 | 76 | bool last_will_retain = false; ///< Whether to retain the last will message. |
| 77 | 77 | |
| 78 | - std::function<void(Error, std::string)> error_callback = [](Error, std::string) {}; ///< Error callback. | |
| 78 | + std::function<void(Error, std::string)> error_callback = std::move([](Error, std::string) { /* empty */ }); ///< Error callback. | |
| 79 | 79 | |
| 80 | 80 | Client::PublishQueueType publish_queue_type = Client::PublishQueueType::DROP; ///< The type of queue to use for the publish queue. |
| 81 | 81 | size_t publish_queue_size = -1; ///< Size of the publish queue. | ... | ... |
src/Connection.cpp
| ... | ... | @@ -17,10 +17,10 @@ |
| 17 | 17 | #include <vector> |
| 18 | 18 | |
| 19 | 19 | Connection::Connection(TrueMQTT::Client::LogLevel log_level, |
| 20 | - const std::function<void(TrueMQTT::Client::LogLevel, std::string)> logger, | |
| 21 | - const std::function<void(TrueMQTT::Client::Error, std::string)> error_callback, | |
| 22 | - const std::function<void(std::string, std::string)> publish_callback, | |
| 23 | - const std::function<void(bool)> connection_change_callback, | |
| 20 | + const std::function<void(TrueMQTT::Client::LogLevel, std::string)> &logger, | |
| 21 | + const std::function<void(TrueMQTT::Client::Error, std::string)> &error_callback, | |
| 22 | + const std::function<void(std::string, std::string)> &publish_callback, | |
| 23 | + const std::function<void(bool)> &connection_change_callback, | |
| 24 | 24 | const std::string &host, |
| 25 | 25 | int port) |
| 26 | 26 | : log_level(log_level), |
| ... | ... | @@ -46,17 +46,17 @@ Connection::~Connection() |
| 46 | 46 | |
| 47 | 47 | // freeaddrinfo() is one of those functions that doesn't take kind to NULL pointers |
| 48 | 48 | // on some platforms. |
| 49 | - if (this->m_host_resolved != NULL) | |
| 49 | + if (this->m_host_resolved != nullptr) | |
| 50 | 50 | { |
| 51 | 51 | freeaddrinfo(this->m_host_resolved); |
| 52 | - this->m_host_resolved = NULL; | |
| 52 | + this->m_host_resolved = nullptr; | |
| 53 | 53 | } |
| 54 | 54 | } |
| 55 | 55 | |
| 56 | -std::string Connection::addrinfoToString(addrinfo *address) | |
| 56 | +std::string Connection::addrinfoToString(const addrinfo *address) const | |
| 57 | 57 | { |
| 58 | 58 | char host[NI_MAXHOST]; |
| 59 | - getnameinfo(address->ai_addr, address->ai_addrlen, host, NI_MAXHOST, NULL, 0, NI_NUMERICHOST); | |
| 59 | + getnameinfo(address->ai_addr, address->ai_addrlen, host, NI_MAXHOST, nullptr, 0, NI_NUMERICHOST); | |
| 60 | 60 | |
| 61 | 61 | return std::string(host); |
| 62 | 62 | } |
| ... | ... | @@ -214,7 +214,7 @@ bool Connection::connectToAny() |
| 214 | 214 | FD_SET(socket, &write_fds); |
| 215 | 215 | } |
| 216 | 216 | |
| 217 | - int result = select(FD_SETSIZE, NULL, &write_fds, NULL, &timeout); | |
| 217 | + int result = select(FD_SETSIZE, nullptr, &write_fds, nullptr, &timeout); | |
| 218 | 218 | |
| 219 | 219 | // Check if there was an error on select(). This is hard to recover from. |
| 220 | 220 | if (result < 0) | ... | ... |
src/Connection.h
| ... | ... | @@ -24,15 +24,15 @@ class Connection |
| 24 | 24 | { |
| 25 | 25 | public: |
| 26 | 26 | Connection(TrueMQTT::Client::LogLevel log_level, |
| 27 | - const std::function<void(TrueMQTT::Client::LogLevel, std::string)> logger, | |
| 28 | - const std::function<void(TrueMQTT::Client::Error, std::string)> error_callback, | |
| 29 | - const std::function<void(std::string, std::string)> publish_callback, | |
| 30 | - const std::function<void(bool)> connection_change_callback, | |
| 27 | + const std::function<void(TrueMQTT::Client::LogLevel, std::string)> &logger, | |
| 28 | + const std::function<void(TrueMQTT::Client::Error, std::string)> &error_callback, | |
| 29 | + const std::function<void(std::string, std::string)> &publish_callback, | |
| 30 | + const std::function<void(bool)> &connection_change_callback, | |
| 31 | 31 | const std::string &host, |
| 32 | 32 | int port); |
| 33 | 33 | ~Connection(); |
| 34 | 34 | |
| 35 | - void send(class Packet &packet); | |
| 35 | + void send(class Packet &packet) const; | |
| 36 | 36 | |
| 37 | 37 | private: |
| 38 | 38 | // Implemented in Connection.cpp |
| ... | ... | @@ -41,10 +41,10 @@ private: |
| 41 | 41 | bool tryNextAddress(); |
| 42 | 42 | void connect(addrinfo *address); |
| 43 | 43 | bool connectToAny(); |
| 44 | - std::string addrinfoToString(addrinfo *address); | |
| 44 | + std::string addrinfoToString(const addrinfo *address) const; | |
| 45 | 45 | |
| 46 | 46 | // Implemented in Packet.cpp |
| 47 | - ssize_t recv(char *buffer, size_t length); | |
| 47 | + ssize_t recv(char *buffer, size_t length) const; | |
| 48 | 48 | bool recvLoop(); |
| 49 | 49 | void sendConnect(); |
| 50 | 50 | |
| ... | ... | @@ -65,8 +65,8 @@ private: |
| 65 | 65 | const std::function<void(std::string, std::string)> m_publish_callback; |
| 66 | 66 | const std::function<void(bool)> m_connection_change_callback; |
| 67 | 67 | |
| 68 | - const std::string &m_host; ///< The hostname or IP address to connect to. | |
| 69 | - int m_port; ///< The port to connect to. | |
| 68 | + const std::string m_host; ///< The hostname or IP address to connect to. | |
| 69 | + int m_port; ///< The port to connect to. | |
| 70 | 70 | |
| 71 | 71 | State m_state = State::RESOLVING; |
| 72 | 72 | std::thread m_thread; ///< Current thread used to run this connection. | ... | ... |
src/Log.h
| ... | ... | @@ -22,50 +22,60 @@ |
| 22 | 22 | #endif |
| 23 | 23 | |
| 24 | 24 | #if MIN_LOGGER_LEVEL >= LOGGER_LEVEL_ERROR |
| 25 | -#define LOG_ERROR(obj, x) \ | |
| 26 | - if (obj->log_level >= TrueMQTT::Client::LogLevel::ERROR) \ | |
| 27 | - { \ | |
| 28 | - obj->logger(TrueMQTT::Client::LogLevel::ERROR, x); \ | |
| 25 | +#define LOG_ERROR(obj, x) \ | |
| 26 | + { \ | |
| 27 | + if (obj->log_level >= TrueMQTT::Client::LogLevel::ERROR) \ | |
| 28 | + { \ | |
| 29 | + obj->logger(TrueMQTT::Client::LogLevel::ERROR, x); \ | |
| 30 | + } \ | |
| 29 | 31 | } |
| 30 | 32 | #else |
| 31 | 33 | #define LOG_ERROR(obj, x) |
| 32 | 34 | #endif |
| 33 | 35 | |
| 34 | 36 | #if MIN_LOGGER_LEVEL >= LOGGER_LEVEL_WARNING |
| 35 | -#define LOG_WARNING(obj, x) \ | |
| 36 | - if (obj->log_level >= TrueMQTT::Client::LogLevel::WARNING) \ | |
| 37 | - { \ | |
| 38 | - obj->logger(TrueMQTT::Client::LogLevel::WARNING, x); \ | |
| 37 | +#define LOG_WARNING(obj, x) \ | |
| 38 | + { \ | |
| 39 | + if (obj->log_level >= TrueMQTT::Client::LogLevel::WARNING) \ | |
| 40 | + { \ | |
| 41 | + obj->logger(TrueMQTT::Client::LogLevel::WARNING, x); \ | |
| 42 | + } \ | |
| 39 | 43 | } |
| 40 | 44 | #else |
| 41 | 45 | #define LOG_WARNING(obj, x) |
| 42 | 46 | #endif |
| 43 | 47 | |
| 44 | 48 | #if MIN_LOGGER_LEVEL >= LOGGER_LEVEL_INFO |
| 45 | -#define LOG_INFO(obj, x) \ | |
| 46 | - if (obj->log_level >= TrueMQTT::Client::LogLevel::INFO) \ | |
| 47 | - { \ | |
| 48 | - obj->logger(TrueMQTT::Client::LogLevel::INFO, x); \ | |
| 49 | +#define LOG_INFO(obj, x) \ | |
| 50 | + { \ | |
| 51 | + if (obj->log_level >= TrueMQTT::Client::LogLevel::INFO) \ | |
| 52 | + { \ | |
| 53 | + obj->logger(TrueMQTT::Client::LogLevel::INFO, x); \ | |
| 54 | + } \ | |
| 49 | 55 | } |
| 50 | 56 | #else |
| 51 | 57 | #define LOG_INFO(obj, x) |
| 52 | 58 | #endif |
| 53 | 59 | |
| 54 | 60 | #if MIN_LOGGER_LEVEL >= LOGGER_LEVEL_DEBUG |
| 55 | -#define LOG_DEBUG(obj, x) \ | |
| 56 | - if (obj->log_level >= TrueMQTT::Client::LogLevel::DEBUG) \ | |
| 57 | - { \ | |
| 58 | - obj->logger(TrueMQTT::Client::LogLevel::DEBUG, x); \ | |
| 61 | +#define LOG_DEBUG(obj, x) \ | |
| 62 | + { \ | |
| 63 | + if (obj->log_level >= TrueMQTT::Client::LogLevel::DEBUG) \ | |
| 64 | + { \ | |
| 65 | + obj->logger(TrueMQTT::Client::LogLevel::DEBUG, x); \ | |
| 66 | + } \ | |
| 59 | 67 | } |
| 60 | 68 | #else |
| 61 | 69 | #define LOG_DEBUG(obj, x) |
| 62 | 70 | #endif |
| 63 | 71 | |
| 64 | 72 | #if MIN_LOGGER_LEVEL >= LOGGER_LEVEL_TRACE |
| 65 | -#define LOG_TRACE(obj, x) \ | |
| 66 | - if (obj->log_level >= TrueMQTT::Client::LogLevel::TRACE) \ | |
| 67 | - { \ | |
| 68 | - obj->logger(TrueMQTT::Client::LogLevel::TRACE, x); \ | |
| 73 | +#define LOG_TRACE(obj, x) \ | |
| 74 | + { \ | |
| 75 | + if (obj->log_level >= TrueMQTT::Client::LogLevel::TRACE) \ | |
| 76 | + { \ | |
| 77 | + obj->logger(TrueMQTT::Client::LogLevel::TRACE, x); \ | |
| 78 | + } \ | |
| 69 | 79 | } |
| 70 | 80 | #else |
| 71 | 81 | #define LOG_TRACE(obj, x) | ... | ... |
src/Packet.cpp
| ... | ... | @@ -65,7 +65,7 @@ public: |
| 65 | 65 | |
| 66 | 66 | void write_string(const std::string &str) |
| 67 | 67 | { |
| 68 | - write_uint16(str.size()); | |
| 68 | + write_uint16(static_cast<uint16_t>(str.size())); | |
| 69 | 69 | write(str.c_str(), str.size()); |
| 70 | 70 | } |
| 71 | 71 | |
| ... | ... | @@ -121,7 +121,7 @@ public: |
| 121 | 121 | uint8_t m_flags; |
| 122 | 122 | }; |
| 123 | 123 | |
| 124 | -ssize_t Connection::recv(char *buffer, size_t length) | |
| 124 | +ssize_t Connection::recv(char *buffer, size_t length) const | |
| 125 | 125 | { |
| 126 | 126 | // We idle-check every 100ms if we are requested to stop, as otherwise |
| 127 | 127 | // this thread will block till the server disconnects us. |
| ... | ... | @@ -181,7 +181,7 @@ bool Connection::recvLoop() |
| 181 | 181 | return false; |
| 182 | 182 | } |
| 183 | 183 | |
| 184 | - Packet::PacketType packet_type = static_cast<Packet::PacketType>(packet_type_raw); | |
| 184 | + auto packet_type = static_cast<Packet::PacketType>(packet_type_raw); | |
| 185 | 185 | |
| 186 | 186 | // Read the length of the packet. This is a bit slow to read, as only |
| 187 | 187 | // after reading the byte we know if another byte follows. |
| ... | ... | @@ -322,7 +322,7 @@ bool Connection::recvLoop() |
| 322 | 322 | return true; |
| 323 | 323 | } |
| 324 | 324 | |
| 325 | -void Connection::send(Packet &packet) | |
| 325 | +void Connection::send(Packet &packet) const | |
| 326 | 326 | { |
| 327 | 327 | LOG_TRACE(this, "Sending packet of type " + std::string(magic_enum::enum_name(packet.m_packet_type)) + " with flags " + std::to_string(packet.m_flags) + " and length " + std::to_string(packet.m_buffer.size())); |
| 328 | 328 | ... | ... |