ixcobra / fix crash in CobraConnection::publishNext when the queue is empty + handle CobraConnection_PublishMode_Batch in CobraMetricsThreadedPublisher
This commit is contained in:
		| @@ -1 +1 @@ | |||||||
| 6.2.9 | 6.3.0 | ||||||
|   | |||||||
| @@ -1,6 +1,10 @@ | |||||||
| # Changelog | # Changelog | ||||||
| All notable changes to this project will be documented in this file. | All notable changes to this project will be documented in this file. | ||||||
|  |  | ||||||
|  | ## [6.3.0] - 2019-09-28 | ||||||
|  |  | ||||||
|  | - ixcobra / fix crash in CobraConnection::publishNext when the queue is empty + handle CobraConnection_PublishMode_Batch in CobraMetricsThreadedPublisher | ||||||
|  |  | ||||||
| ## [6.2.9] - 2019-09-27 | ## [6.2.9] - 2019-09-27 | ||||||
|  |  | ||||||
| - mbedtls fixes / the unittest now pass on macOS, and hopefully will on Windows/AppVeyor as well. | - mbedtls fixes / the unittest now pass on macOS, and hopefully will on Windows/AppVeyor as well. | ||||||
|   | |||||||
| @@ -233,6 +233,11 @@ namespace ix | |||||||
|         _publishMode = publishMode; |         _publishMode = publishMode; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     CobraConnectionPublishMode CobraConnection::getPublishMode() | ||||||
|  |     { | ||||||
|  |         return _publishMode; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     void CobraConnection::configure(const std::string& appkey, |     void CobraConnection::configure(const std::string& appkey, | ||||||
|                                     const std::string& endpoint, |                                     const std::string& endpoint, | ||||||
|                                     const std::string& rolename, |                                     const std::string& rolename, | ||||||
| @@ -487,10 +492,11 @@ namespace ix | |||||||
|     { |     { | ||||||
|         std::lock_guard<std::mutex> lock(_queueMutex); |         std::lock_guard<std::mutex> lock(_queueMutex); | ||||||
|  |  | ||||||
|  |         if (_messageQueue.empty()) return true; | ||||||
|  |  | ||||||
|         auto&& msg = _messageQueue.back(); |         auto&& msg = _messageQueue.back(); | ||||||
|         if (!publishMessage(msg)) |         if (!publishMessage(msg)) | ||||||
|         { |         { | ||||||
|             _messageQueue.push_back(msg); |  | ||||||
|             return false; |             return false; | ||||||
|         } |         } | ||||||
|         _messageQueue.pop_back(); |         _messageQueue.pop_back(); | ||||||
|   | |||||||
| @@ -114,6 +114,9 @@ namespace ix | |||||||
|         /// Set the publish mode |         /// Set the publish mode | ||||||
|         void setPublishMode(CobraConnectionPublishMode publishMode); |         void setPublishMode(CobraConnectionPublishMode publishMode); | ||||||
|  |  | ||||||
|  |         /// Query the publish mode | ||||||
|  |         CobraConnectionPublishMode getPublishMode(); | ||||||
|  |  | ||||||
|         /// Lifecycle management. Free resources when backgrounding |         /// Lifecycle management. Free resources when backgrounding | ||||||
|         void suspend(); |         void suspend(); | ||||||
|         void resume(); |         void resume(); | ||||||
|   | |||||||
| @@ -165,8 +165,11 @@ namespace ix | |||||||
|                 }; break; |                 }; break; | ||||||
|  |  | ||||||
|                 case MessageKind::Message: |                 case MessageKind::Message: | ||||||
|  |                 { | ||||||
|  |                     if (_cobra_connection.getPublishMode() == CobraConnection_PublishMode_Immediate) | ||||||
|                     { |                     { | ||||||
|                         _cobra_connection.publishNext(); |                         _cobra_connection.publishNext(); | ||||||
|  |                     } | ||||||
|                 }; break; |                 }; break; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -6,4 +6,4 @@ | |||||||
|  |  | ||||||
| #pragma once | #pragma once | ||||||
|  |  | ||||||
| #define IX_WEBSOCKET_VERSION "6.2.9" | #define IX_WEBSOCKET_VERSION "6.3.0" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user