From 22f642bb9833e7fbea5ce8f5588fc9e676f9fe34 Mon Sep 17 00:00:00 2001 From: Matthew Incognito Date: Thu, 10 May 2018 12:59:13 +0100 Subject: [PATCH] Announcement protocol extension --- src/common/net/Client.cpp | 20 ++++++++++++++++++++ src/common/net/Client.h | 1 + 2 files changed, 21 insertions(+) diff --git a/src/common/net/Client.cpp b/src/common/net/Client.cpp index 921fa618..3b2091c2 100644 --- a/src/common/net/Client.cpp +++ b/src/common/net/Client.cpp @@ -222,6 +222,23 @@ bool Client::close() return true; } +bool Client::handleAnnouncement(const rapidjson::Value ¶ms) +{ + if (!params.IsObject()) + { + return false; + } + + if (params.HasMember("message")) + { + LOG_INFO("[%s] announcement: \"%s\"", m_pool.url(), + params["message"].GetString()); + + return true; + } + + return false; +} bool Client::isCriticalError(const char *message) { @@ -588,6 +605,9 @@ void Client::parseNotification(const char *method, const rapidjson::Value ¶m m_listener->onJobReceived(this, m_job); } + return; + } else if (strcmp(method, "announcement") == 0) { + handleAnnouncement(params); return; } diff --git a/src/common/net/Client.h b/src/common/net/Client.h index 27273092..177e41f4 100644 --- a/src/common/net/Client.h +++ b/src/common/net/Client.h @@ -84,6 +84,7 @@ private: }; bool close(); + bool handleAnnouncement(const rapidjson::Value ¶ms); bool isCriticalError(const char *message); bool parseJob(const rapidjson::Value ¶ms, int *code); bool parseLogin(const rapidjson::Value &result, int *code);