(cobra client) can subscribe with a position
This commit is contained in:
		| @@ -19,6 +19,7 @@ namespace ix | ||||
|     int cobra_to_sentry_bot(const CobraConfig& config, | ||||
|                             const std::string& channel, | ||||
|                             const std::string& filter, | ||||
|                             const std::string& position, | ||||
|                             SentryClient& sentryClient, | ||||
|                             bool verbose, | ||||
|                             bool strict, | ||||
| @@ -37,7 +38,7 @@ namespace ix | ||||
|         std::atomic<bool> stop(false); | ||||
|         std::atomic<bool> throttled(false); | ||||
|  | ||||
|         QueueManager queueManager(maxQueueSize, stop); | ||||
|         QueueManager queueManager(maxQueueSize); | ||||
|  | ||||
|         auto timer = [&sentCount, &receivedCount, &stop] { | ||||
|             while (!stop) | ||||
| @@ -173,6 +174,7 @@ namespace ix | ||||
|         conn.setEventCallback([&conn, | ||||
|                                &channel, | ||||
|                                &filter, | ||||
|                                &position, | ||||
|                                &jsonWriter, | ||||
|                                verbose, | ||||
|                                &throttled, | ||||
| @@ -200,6 +202,7 @@ namespace ix | ||||
|                 spdlog::info("Subscriber authenticated"); | ||||
|                 conn.subscribe(channel, | ||||
|                                filter, | ||||
|                                position, | ||||
|                                [&jsonWriter, verbose, &throttled, &receivedCount, &queueManager]( | ||||
|                                    const Json::Value& msg, const std::string& position) { | ||||
|                                    if (verbose) | ||||
|   | ||||
| @@ -14,6 +14,7 @@ namespace ix | ||||
|     int cobra_to_sentry_bot(const CobraConfig& config, | ||||
|                             const std::string& channel, | ||||
|                             const std::string& filter, | ||||
|                             const std::string& position, | ||||
|                             SentryClient& sentryClient, | ||||
|                             bool verbose, | ||||
|                             bool strict, | ||||
|   | ||||
| @@ -62,6 +62,7 @@ namespace ix | ||||
|     int cobra_to_statsd_bot(const ix::CobraConfig& config, | ||||
|                             const std::string& channel, | ||||
|                             const std::string& filter, | ||||
|                             const std::string& position, | ||||
|                             const std::string& host, | ||||
|                             int port, | ||||
|                             const std::string& prefix, | ||||
| @@ -80,7 +81,7 @@ namespace ix | ||||
|         std::atomic<bool> stop(false); | ||||
|  | ||||
|         size_t maxQueueSize = 1000; | ||||
|         QueueManager queueManager(maxQueueSize, stop); | ||||
|         QueueManager queueManager(maxQueueSize); | ||||
|  | ||||
|         auto timer = [&sentCount, &receivedCount] { | ||||
|             while (true) | ||||
| @@ -153,7 +154,7 @@ namespace ix | ||||
|         std::thread t3(statsdSender); | ||||
|  | ||||
|         conn.setEventCallback( | ||||
|             [&conn, &channel, &filter, &jsonWriter, verbose, &queueManager, &receivedCount]( | ||||
|             [&conn, &channel, &filter, &position, &jsonWriter, verbose, &queueManager, &receivedCount]( | ||||
|                 ix::CobraConnectionEventType eventType, | ||||
|                 const std::string& errMsg, | ||||
|                 const ix::WebSocketHttpHeaders& headers, | ||||
| @@ -177,6 +178,7 @@ namespace ix | ||||
|                     spdlog::info("Subscriber authenticated"); | ||||
|                     conn.subscribe(channel, | ||||
|                                    filter, | ||||
|                                    position, | ||||
|                                    [&jsonWriter, &queueManager, verbose, &receivedCount]( | ||||
|                                        const Json::Value& msg, const std::string& position) { | ||||
|                                        if (verbose) | ||||
|   | ||||
| @@ -14,6 +14,7 @@ namespace ix | ||||
|     int cobra_to_statsd_bot(const ix::CobraConfig& config, | ||||
|                             const std::string& channel, | ||||
|                             const std::string& filter, | ||||
|                             const std::string& position, | ||||
|                             const std::string& host, | ||||
|                             int port, | ||||
|                             const std::string& prefix, | ||||
|   | ||||
| @@ -7,7 +7,6 @@ | ||||
| #pragma once | ||||
|  | ||||
| #include <stddef.h> | ||||
| #include <atomic> | ||||
| #include <json/json.h> | ||||
| #include <mutex> | ||||
| #include <condition_variable> | ||||
| @@ -19,9 +18,8 @@ namespace ix | ||||
|     class QueueManager | ||||
|     { | ||||
|     public: | ||||
|         QueueManager(size_t maxQueueSize, std::atomic<bool>& stop) | ||||
|         QueueManager(size_t maxQueueSize) | ||||
|             : _maxQueueSize(maxQueueSize) | ||||
|             , _stop(stop) | ||||
|         { | ||||
|         } | ||||
|  | ||||
| @@ -33,6 +31,5 @@ namespace ix | ||||
|         std::mutex _mutex; | ||||
|         std::condition_variable _condition; | ||||
|         size_t _maxQueueSize; | ||||
|         std::atomic<bool>& _stop; | ||||
|     }; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user