(ixcobra) make CobraConnection_EventType an enum class (CobraEventType)
This commit is contained in:
parent
2c4bf8f4bd
commit
386ef3ab04
@ -1,6 +1,10 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
All changes to this project will be documented in this file.
|
All changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [9.2.8] - 2020-04-15
|
||||||
|
|
||||||
|
(ixcobra) make CobraConnection_EventType an enum class (CobraEventType)
|
||||||
|
|
||||||
## [9.2.7] - 2020-04-14
|
## [9.2.7] - 2020-04-14
|
||||||
|
|
||||||
(ixsentry) add a library method to upload a payload directly to sentry
|
(ixsentry) add a library method to upload a payload directly to sentry
|
||||||
|
@ -181,12 +181,12 @@ namespace ix
|
|||||||
&throttled,
|
&throttled,
|
||||||
&receivedCount,
|
&receivedCount,
|
||||||
&fatalCobraError,
|
&fatalCobraError,
|
||||||
&queueManager](ix::CobraConnectionEventType eventType,
|
&queueManager](ix::CobraEventType eventType,
|
||||||
const std::string& errMsg,
|
const std::string& errMsg,
|
||||||
const ix::WebSocketHttpHeaders& headers,
|
const ix::WebSocketHttpHeaders& headers,
|
||||||
const std::string& subscriptionId,
|
const std::string& subscriptionId,
|
||||||
CobraConnection::MsgId msgId) {
|
CobraConnection::MsgId msgId) {
|
||||||
if (eventType == ix::CobraConnection_EventType_Open)
|
if (eventType == ix::CobraEventType::Open)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber connected");
|
spdlog::info("Subscriber connected");
|
||||||
|
|
||||||
@ -195,11 +195,11 @@ namespace ix
|
|||||||
spdlog::info("{}: {}", it.first, it.second);
|
spdlog::info("{}: {}", it.first, it.second);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (eventType == ix::CobraConnection_EventType_Closed)
|
if (eventType == ix::CobraEventType::Closed)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber closed");
|
spdlog::info("Subscriber closed");
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Authenticated)
|
else if (eventType == ix::CobraEventType::Authenticated)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber authenticated");
|
spdlog::info("Subscriber authenticated");
|
||||||
conn.subscribe(channel,
|
conn.subscribe(channel,
|
||||||
@ -222,37 +222,37 @@ namespace ix
|
|||||||
queueManager.add(msg);
|
queueManager.add(msg);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Subscribed)
|
else if (eventType == ix::CobraEventType::Subscribed)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber: subscribed to channel {}", subscriptionId);
|
spdlog::info("Subscriber: subscribed to channel {}", subscriptionId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_UnSubscribed)
|
else if (eventType == ix::CobraEventType::UnSubscribed)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber: unsubscribed from channel {}", subscriptionId);
|
spdlog::info("Subscriber: unsubscribed from channel {}", subscriptionId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Error)
|
else if (eventType == ix::CobraEventType::Error)
|
||||||
{
|
{
|
||||||
spdlog::error("Subscriber: error {}", errMsg);
|
spdlog::error("Subscriber: error {}", errMsg);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Published)
|
else if (eventType == ix::CobraEventType::Published)
|
||||||
{
|
{
|
||||||
spdlog::error("Published message hacked: {}", msgId);
|
spdlog::error("Published message hacked: {}", msgId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Pong)
|
else if (eventType == ix::CobraEventType::Pong)
|
||||||
{
|
{
|
||||||
spdlog::info("Received websocket pong");
|
spdlog::info("Received websocket pong");
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Handshake_Error)
|
else if (eventType == ix::CobraEventType::HandshakeError)
|
||||||
{
|
{
|
||||||
spdlog::error("Subscriber: Handshake error: {}", errMsg);
|
spdlog::error("Subscriber: Handshake error: {}", errMsg);
|
||||||
fatalCobraError = true;
|
fatalCobraError = true;
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Authentication_Error)
|
else if (eventType == ix::CobraEventType::AuthenticationError)
|
||||||
{
|
{
|
||||||
spdlog::error("Subscriber: Authentication error: {}", errMsg);
|
spdlog::error("Subscriber: Authentication error: {}", errMsg);
|
||||||
fatalCobraError = true;
|
fatalCobraError = true;
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Subscription_Error)
|
else if (eventType == ix::CobraEventType::SubscriptionError)
|
||||||
{
|
{
|
||||||
spdlog::error("Subscriber: Subscription error: {}", errMsg);
|
spdlog::error("Subscriber: Subscription error: {}", errMsg);
|
||||||
fatalCobraError = true;
|
fatalCobraError = true;
|
||||||
|
@ -202,12 +202,12 @@ namespace ix
|
|||||||
|
|
||||||
conn.setEventCallback(
|
conn.setEventCallback(
|
||||||
[&conn, &channel, &filter, &position, &jsonWriter, verbose, &queueManager, &receivedCount, &fatalCobraError](
|
[&conn, &channel, &filter, &position, &jsonWriter, verbose, &queueManager, &receivedCount, &fatalCobraError](
|
||||||
ix::CobraConnectionEventType eventType,
|
ix::CobraEventType eventType,
|
||||||
const std::string& errMsg,
|
const std::string& errMsg,
|
||||||
const ix::WebSocketHttpHeaders& headers,
|
const ix::WebSocketHttpHeaders& headers,
|
||||||
const std::string& subscriptionId,
|
const std::string& subscriptionId,
|
||||||
CobraConnection::MsgId msgId) {
|
CobraConnection::MsgId msgId) {
|
||||||
if (eventType == ix::CobraConnection_EventType_Open)
|
if (eventType == ix::CobraEventType::Open)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber connected");
|
spdlog::info("Subscriber connected");
|
||||||
|
|
||||||
@ -216,11 +216,11 @@ namespace ix
|
|||||||
spdlog::info("{}: {}", it.first, it.second);
|
spdlog::info("{}: {}", it.first, it.second);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (eventType == ix::CobraConnection_EventType_Closed)
|
if (eventType == ix::CobraEventType::Closed)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber closed");
|
spdlog::info("Subscriber closed");
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Authenticated)
|
else if (eventType == ix::CobraEventType::Authenticated)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber authenticated");
|
spdlog::info("Subscriber authenticated");
|
||||||
conn.subscribe(channel,
|
conn.subscribe(channel,
|
||||||
@ -239,37 +239,37 @@ namespace ix
|
|||||||
queueManager.add(msg);
|
queueManager.add(msg);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Subscribed)
|
else if (eventType == ix::CobraEventType::Subscribed)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber: subscribed to channel {}", subscriptionId);
|
spdlog::info("Subscriber: subscribed to channel {}", subscriptionId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_UnSubscribed)
|
else if (eventType == ix::CobraEventType::UnSubscribed)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber: unsubscribed from channel {}", subscriptionId);
|
spdlog::info("Subscriber: unsubscribed from channel {}", subscriptionId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Error)
|
else if (eventType == ix::CobraEventType::Error)
|
||||||
{
|
{
|
||||||
spdlog::error("Subscriber: error {}", errMsg);
|
spdlog::error("Subscriber: error {}", errMsg);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Published)
|
else if (eventType == ix::CobraEventType::Published)
|
||||||
{
|
{
|
||||||
spdlog::error("Published message hacked: {}", msgId);
|
spdlog::error("Published message hacked: {}", msgId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Pong)
|
else if (eventType == ix::CobraEventType::Pong)
|
||||||
{
|
{
|
||||||
spdlog::info("Received websocket pong");
|
spdlog::info("Received websocket pong");
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Handshake_Error)
|
else if (eventType == ix::CobraEventType::HandshakeError)
|
||||||
{
|
{
|
||||||
spdlog::error("Subscriber: Handshake error: {}", errMsg);
|
spdlog::error("Subscriber: Handshake error: {}", errMsg);
|
||||||
fatalCobraError = true;
|
fatalCobraError = true;
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Authentication_Error)
|
else if (eventType == ix::CobraEventType::AuthenticationError)
|
||||||
{
|
{
|
||||||
spdlog::error("Subscriber: Authentication error: {}", errMsg);
|
spdlog::error("Subscriber: Authentication error: {}", errMsg);
|
||||||
fatalCobraError = true;
|
fatalCobraError = true;
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Subscription_Error)
|
else if (eventType == ix::CobraEventType::SubscriptionError)
|
||||||
{
|
{
|
||||||
spdlog::error("Subscriber: Subscription error: {}", errMsg);
|
spdlog::error("Subscriber: Subscription error: {}", errMsg);
|
||||||
fatalCobraError = true;
|
fatalCobraError = true;
|
||||||
|
@ -14,6 +14,8 @@ set (IXCOBRA_HEADERS
|
|||||||
ixcobra/IXCobraMetricsThreadedPublisher.h
|
ixcobra/IXCobraMetricsThreadedPublisher.h
|
||||||
ixcobra/IXCobraMetricsPublisher.h
|
ixcobra/IXCobraMetricsPublisher.h
|
||||||
ixcobra/IXCobraConfig.h
|
ixcobra/IXCobraConfig.h
|
||||||
|
ixcobra/IXCobraEvent.h
|
||||||
|
ixcobra/IXCobraEventType.h
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(ixcobra STATIC
|
add_library(ixcobra STATIC
|
||||||
|
@ -87,7 +87,7 @@ namespace ix
|
|||||||
_eventCallback = eventCallback;
|
_eventCallback = eventCallback;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CobraConnection::invokeEventCallback(ix::CobraConnectionEventType eventType,
|
void CobraConnection::invokeEventCallback(ix::CobraEventType eventType,
|
||||||
const std::string& errorMsg,
|
const std::string& errorMsg,
|
||||||
const WebSocketHttpHeaders& headers,
|
const WebSocketHttpHeaders& headers,
|
||||||
const std::string& subscriptionId,
|
const std::string& subscriptionId,
|
||||||
@ -105,7 +105,7 @@ namespace ix
|
|||||||
{
|
{
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
ss << errorMsg << " : received pdu => " << serializedPdu;
|
ss << errorMsg << " : received pdu => " << serializedPdu;
|
||||||
invokeEventCallback(ix::CobraConnection_EventType_Error, ss.str());
|
invokeEventCallback(ix::CobraEventType::Error, ss.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CobraConnection::disconnect()
|
void CobraConnection::disconnect()
|
||||||
@ -124,7 +124,7 @@ namespace ix
|
|||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
if (msg->type == ix::WebSocketMessageType::Open)
|
if (msg->type == ix::WebSocketMessageType::Open)
|
||||||
{
|
{
|
||||||
invokeEventCallback(ix::CobraConnection_EventType_Open,
|
invokeEventCallback(ix::CobraEventType::Open,
|
||||||
std::string(),
|
std::string(),
|
||||||
msg->openInfo.headers);
|
msg->openInfo.headers);
|
||||||
sendHandshakeMessage();
|
sendHandshakeMessage();
|
||||||
@ -136,7 +136,7 @@ namespace ix
|
|||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
ss << "Close code " << msg->closeInfo.code;
|
ss << "Close code " << msg->closeInfo.code;
|
||||||
ss << " reason " << msg->closeInfo.reason;
|
ss << " reason " << msg->closeInfo.reason;
|
||||||
invokeEventCallback(ix::CobraConnection_EventType_Closed,
|
invokeEventCallback(ix::CobraEventType::Closed,
|
||||||
ss.str());
|
ss.str());
|
||||||
}
|
}
|
||||||
else if (msg->type == ix::WebSocketMessageType::Message)
|
else if (msg->type == ix::WebSocketMessageType::Message)
|
||||||
@ -166,18 +166,18 @@ namespace ix
|
|||||||
}
|
}
|
||||||
else if (action == "auth/handshake/error")
|
else if (action == "auth/handshake/error")
|
||||||
{
|
{
|
||||||
invokeEventCallback(ix::CobraConnection_EventType_Handshake_Error,
|
invokeEventCallback(ix::CobraEventType::HandshakeError,
|
||||||
msg->str);
|
msg->str);
|
||||||
}
|
}
|
||||||
else if (action == "auth/authenticate/ok")
|
else if (action == "auth/authenticate/ok")
|
||||||
{
|
{
|
||||||
_authenticated = true;
|
_authenticated = true;
|
||||||
invokeEventCallback(ix::CobraConnection_EventType_Authenticated);
|
invokeEventCallback(ix::CobraEventType::Authenticated);
|
||||||
flushQueue();
|
flushQueue();
|
||||||
}
|
}
|
||||||
else if (action == "auth/authenticate/error")
|
else if (action == "auth/authenticate/error")
|
||||||
{
|
{
|
||||||
invokeEventCallback(ix::CobraConnection_EventType_Authentication_Error,
|
invokeEventCallback(ix::CobraEventType::AuthenticationError,
|
||||||
msg->str);
|
msg->str);
|
||||||
}
|
}
|
||||||
else if (action == "rtm/subscription/data")
|
else if (action == "rtm/subscription/data")
|
||||||
@ -193,7 +193,7 @@ namespace ix
|
|||||||
}
|
}
|
||||||
else if (action == "rtm/subscribe/error")
|
else if (action == "rtm/subscribe/error")
|
||||||
{
|
{
|
||||||
invokeEventCallback(ix::CobraConnection_EventType_Subscription_Error,
|
invokeEventCallback(ix::CobraEventType::SubscriptionError,
|
||||||
msg->str);
|
msg->str);
|
||||||
}
|
}
|
||||||
else if (action == "rtm/unsubscribe/ok")
|
else if (action == "rtm/unsubscribe/ok")
|
||||||
@ -234,7 +234,7 @@ namespace ix
|
|||||||
}
|
}
|
||||||
else if (msg->type == ix::WebSocketMessageType::Pong)
|
else if (msg->type == ix::WebSocketMessageType::Pong)
|
||||||
{
|
{
|
||||||
invokeEventCallback(ix::CobraConnection_EventType_Pong);
|
invokeEventCallback(ix::CobraEventType::Pong);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -396,7 +396,7 @@ namespace ix
|
|||||||
|
|
||||||
if (!subscriptionId.isString()) return false;
|
if (!subscriptionId.isString()) return false;
|
||||||
|
|
||||||
invokeEventCallback(ix::CobraConnection_EventType_Subscribed,
|
invokeEventCallback(ix::CobraEventType::Subscribed,
|
||||||
std::string(), WebSocketHttpHeaders(),
|
std::string(), WebSocketHttpHeaders(),
|
||||||
subscriptionId.asString());
|
subscriptionId.asString());
|
||||||
return true;
|
return true;
|
||||||
@ -414,7 +414,7 @@ namespace ix
|
|||||||
|
|
||||||
if (!subscriptionId.isString()) return false;
|
if (!subscriptionId.isString()) return false;
|
||||||
|
|
||||||
invokeEventCallback(ix::CobraConnection_EventType_UnSubscribed,
|
invokeEventCallback(ix::CobraEventType::UnSubscribed,
|
||||||
std::string(), WebSocketHttpHeaders(),
|
std::string(), WebSocketHttpHeaders(),
|
||||||
subscriptionId.asString());
|
subscriptionId.asString());
|
||||||
return true;
|
return true;
|
||||||
@ -462,7 +462,7 @@ namespace ix
|
|||||||
|
|
||||||
uint64_t msgId = id.asUInt64();
|
uint64_t msgId = id.asUInt64();
|
||||||
|
|
||||||
invokeEventCallback(ix::CobraConnection_EventType_Published,
|
invokeEventCallback(ix::CobraEventType::Published,
|
||||||
std::string(), WebSocketHttpHeaders(),
|
std::string(), WebSocketHttpHeaders(),
|
||||||
std::string(), msgId);
|
std::string(), msgId);
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
#include <ixwebsocket/IXWebSocketHttpHeaders.h>
|
#include <ixwebsocket/IXWebSocketHttpHeaders.h>
|
||||||
#include <ixwebsocket/IXWebSocketPerMessageDeflateOptions.h>
|
#include <ixwebsocket/IXWebSocketPerMessageDeflateOptions.h>
|
||||||
|
#include "IXCobraEventType.h"
|
||||||
#include <json/json.h>
|
#include <json/json.h>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
@ -28,21 +29,6 @@ namespace ix
|
|||||||
class WebSocket;
|
class WebSocket;
|
||||||
struct SocketTLSOptions;
|
struct SocketTLSOptions;
|
||||||
|
|
||||||
enum CobraConnectionEventType
|
|
||||||
{
|
|
||||||
CobraConnection_EventType_Authenticated = 0,
|
|
||||||
CobraConnection_EventType_Error = 1,
|
|
||||||
CobraConnection_EventType_Open = 2,
|
|
||||||
CobraConnection_EventType_Closed = 3,
|
|
||||||
CobraConnection_EventType_Subscribed = 4,
|
|
||||||
CobraConnection_EventType_UnSubscribed = 5,
|
|
||||||
CobraConnection_EventType_Published = 6,
|
|
||||||
CobraConnection_EventType_Pong = 7,
|
|
||||||
CobraConnection_EventType_Handshake_Error = 8,
|
|
||||||
CobraConnection_EventType_Authentication_Error = 9,
|
|
||||||
CobraConnection_EventType_Subscription_Error = 10
|
|
||||||
};
|
|
||||||
|
|
||||||
enum CobraConnectionPublishMode
|
enum CobraConnectionPublishMode
|
||||||
{
|
{
|
||||||
CobraConnection_PublishMode_Immediate = 0,
|
CobraConnection_PublishMode_Immediate = 0,
|
||||||
@ -50,7 +36,7 @@ namespace ix
|
|||||||
};
|
};
|
||||||
|
|
||||||
using SubscriptionCallback = std::function<void(const Json::Value&, const std::string&)>;
|
using SubscriptionCallback = std::function<void(const Json::Value&, const std::string&)>;
|
||||||
using EventCallback = std::function<void(CobraConnectionEventType,
|
using EventCallback = std::function<void(CobraEventType,
|
||||||
const std::string&,
|
const std::string&,
|
||||||
const WebSocketHttpHeaders&,
|
const WebSocketHttpHeaders&,
|
||||||
const std::string&,
|
const std::string&,
|
||||||
@ -171,7 +157,7 @@ namespace ix
|
|||||||
static void invokePublishTrackerCallback(bool sent, bool acked);
|
static void invokePublishTrackerCallback(bool sent, bool acked);
|
||||||
|
|
||||||
/// Invoke event callbacks
|
/// Invoke event callbacks
|
||||||
void invokeEventCallback(CobraConnectionEventType eventType,
|
void invokeEventCallback(CobraEventType eventType,
|
||||||
const std::string& errorMsg = std::string(),
|
const std::string& errorMsg = std::string(),
|
||||||
const WebSocketHttpHeaders& headers = WebSocketHttpHeaders(),
|
const WebSocketHttpHeaders& headers = WebSocketHttpHeaders(),
|
||||||
const std::string& subscriptionId = std::string(),
|
const std::string& subscriptionId = std::string(),
|
||||||
|
25
ixcobra/ixcobra/IXCobraEventType.h
Normal file
25
ixcobra/ixcobra/IXCobraEventType.h
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
* IXCobraEventType.h
|
||||||
|
* Author: Benjamin Sergeant
|
||||||
|
* Copyright (c) 2020 Machine Zone, Inc. All rights reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace ix
|
||||||
|
{
|
||||||
|
enum class CobraEventType
|
||||||
|
{
|
||||||
|
Authenticated = 0,
|
||||||
|
Error = 1,
|
||||||
|
Open = 2,
|
||||||
|
Closed = 3,
|
||||||
|
Subscribed = 4,
|
||||||
|
UnSubscribed = 5,
|
||||||
|
Published = 6,
|
||||||
|
Pong = 7,
|
||||||
|
HandshakeError = 8,
|
||||||
|
AuthenticationError = 9,
|
||||||
|
SubscriptionError = 10
|
||||||
|
};
|
||||||
|
}
|
@ -24,7 +24,7 @@ namespace ix
|
|||||||
{
|
{
|
||||||
_cobra_connection.setEventCallback(
|
_cobra_connection.setEventCallback(
|
||||||
[]
|
[]
|
||||||
(ix::CobraConnectionEventType eventType,
|
(ix::CobraEventType eventType,
|
||||||
const std::string& errMsg,
|
const std::string& errMsg,
|
||||||
const ix::WebSocketHttpHeaders& headers,
|
const ix::WebSocketHttpHeaders& headers,
|
||||||
const std::string& subscriptionId,
|
const std::string& subscriptionId,
|
||||||
@ -32,7 +32,7 @@ namespace ix
|
|||||||
{
|
{
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
|
|
||||||
if (eventType == ix::CobraConnection_EventType_Open)
|
if (eventType == ix::CobraEventType::Open)
|
||||||
{
|
{
|
||||||
ss << "Handshake headers" << std::endl;
|
ss << "Handshake headers" << std::endl;
|
||||||
|
|
||||||
@ -41,31 +41,31 @@ namespace ix
|
|||||||
ss << it.first << ": " << it.second << std::endl;
|
ss << it.first << ": " << it.second << std::endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Authenticated)
|
else if (eventType == ix::CobraEventType::Authenticated)
|
||||||
{
|
{
|
||||||
ss << "Authenticated";
|
ss << "Authenticated";
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Error)
|
else if (eventType == ix::CobraEventType::Error)
|
||||||
{
|
{
|
||||||
ss << "Error: " << errMsg;
|
ss << "Error: " << errMsg;
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Closed)
|
else if (eventType == ix::CobraEventType::Closed)
|
||||||
{
|
{
|
||||||
ss << "Connection closed: " << errMsg;
|
ss << "Connection closed: " << errMsg;
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Subscribed)
|
else if (eventType == ix::CobraEventType::Subscribed)
|
||||||
{
|
{
|
||||||
ss << "Subscribed through subscription id: " << subscriptionId;
|
ss << "Subscribed through subscription id: " << subscriptionId;
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_UnSubscribed)
|
else if (eventType == ix::CobraEventType::UnSubscribed)
|
||||||
{
|
{
|
||||||
ss << "Unsubscribed through subscription id: " << subscriptionId;
|
ss << "Unsubscribed through subscription id: " << subscriptionId;
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Published)
|
else if (eventType == ix::CobraEventType::Published)
|
||||||
{
|
{
|
||||||
ss << "Published message " << msgId << " acked";
|
ss << "Published message " << msgId << " acked";
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Pong)
|
else if (eventType == ix::CobraEventType::Pong)
|
||||||
{
|
{
|
||||||
ss << "Received websocket pong";
|
ss << "Received websocket pong";
|
||||||
}
|
}
|
||||||
|
@ -6,4 +6,4 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define IX_WEBSOCKET_VERSION "9.2.7"
|
#define IX_WEBSOCKET_VERSION "9.2.8"
|
||||||
|
@ -180,12 +180,12 @@ namespace
|
|||||||
_conn.configure(_cobraConfig);
|
_conn.configure(_cobraConfig);
|
||||||
_conn.connect();
|
_conn.connect();
|
||||||
|
|
||||||
_conn.setEventCallback([this, channel](ix::CobraConnectionEventType eventType,
|
_conn.setEventCallback([this, channel](ix::CobraEventType eventType,
|
||||||
const std::string& errMsg,
|
const std::string& errMsg,
|
||||||
const ix::WebSocketHttpHeaders& headers,
|
const ix::WebSocketHttpHeaders& headers,
|
||||||
const std::string& subscriptionId,
|
const std::string& subscriptionId,
|
||||||
CobraConnection::MsgId msgId) {
|
CobraConnection::MsgId msgId) {
|
||||||
if (eventType == ix::CobraConnection_EventType_Open)
|
if (eventType == ix::CobraEventType::Open)
|
||||||
{
|
{
|
||||||
log("Subscriber connected: " + _user);
|
log("Subscriber connected: " + _user);
|
||||||
for (auto&& it : headers)
|
for (auto&& it : headers)
|
||||||
@ -193,29 +193,29 @@ namespace
|
|||||||
log("Headers " + it.first + " " + it.second);
|
log("Headers " + it.first + " " + it.second);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Authenticated)
|
else if (eventType == ix::CobraEventType::Authenticated)
|
||||||
{
|
{
|
||||||
log("Subscriber authenticated: " + _user);
|
log("Subscriber authenticated: " + _user);
|
||||||
subscribe(channel);
|
subscribe(channel);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Error)
|
else if (eventType == ix::CobraEventType::Error)
|
||||||
{
|
{
|
||||||
log(errMsg + _user);
|
log(errMsg + _user);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Closed)
|
else if (eventType == ix::CobraEventType::Closed)
|
||||||
{
|
{
|
||||||
log("Connection closed: " + _user);
|
log("Connection closed: " + _user);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Subscribed)
|
else if (eventType == ix::CobraEventType::Subscribed)
|
||||||
{
|
{
|
||||||
log("Subscription ok: " + _user + " subscription_id " + subscriptionId);
|
log("Subscription ok: " + _user + " subscription_id " + subscriptionId);
|
||||||
_connectedAndSubscribed = true;
|
_connectedAndSubscribed = true;
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_UnSubscribed)
|
else if (eventType == ix::CobraEventType::UnSubscribed)
|
||||||
{
|
{
|
||||||
log("Unsubscription ok: " + _user + " subscription_id " + subscriptionId);
|
log("Unsubscription ok: " + _user + " subscription_id " + subscriptionId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Published)
|
else if (eventType == ix::CobraEventType::Published)
|
||||||
{
|
{
|
||||||
TLogger() << "Subscriber: published message acked: " << msgId;
|
TLogger() << "Subscriber: published message acked: " << msgId;
|
||||||
}
|
}
|
||||||
@ -248,7 +248,7 @@ namespace
|
|||||||
ix::msleep(50);
|
ix::msleep(50);
|
||||||
_conn.disconnect();
|
_conn.disconnect();
|
||||||
|
|
||||||
_conn.setEventCallback([](ix::CobraConnectionEventType /*eventType*/,
|
_conn.setEventCallback([](ix::CobraEventType /*eventType*/,
|
||||||
const std::string& /*errMsg*/,
|
const std::string& /*errMsg*/,
|
||||||
const ix::WebSocketHttpHeaders& /*headers*/,
|
const ix::WebSocketHttpHeaders& /*headers*/,
|
||||||
const std::string& /*subscriptionId*/,
|
const std::string& /*subscriptionId*/,
|
||||||
|
@ -54,12 +54,12 @@ namespace
|
|||||||
conn.configure(config);
|
conn.configure(config);
|
||||||
conn.connect();
|
conn.connect();
|
||||||
|
|
||||||
conn.setEventCallback([&conn, &channel](ix::CobraConnectionEventType eventType,
|
conn.setEventCallback([&conn, &channel](ix::CobraEventType eventType,
|
||||||
const std::string& errMsg,
|
const std::string& errMsg,
|
||||||
const ix::WebSocketHttpHeaders& headers,
|
const ix::WebSocketHttpHeaders& headers,
|
||||||
const std::string& subscriptionId,
|
const std::string& subscriptionId,
|
||||||
CobraConnection::MsgId msgId) {
|
CobraConnection::MsgId msgId) {
|
||||||
if (eventType == ix::CobraConnection_EventType_Open)
|
if (eventType == ix::CobraEventType::Open)
|
||||||
{
|
{
|
||||||
TLogger() << "Subscriber connected:";
|
TLogger() << "Subscriber connected:";
|
||||||
for (auto&& it : headers)
|
for (auto&& it : headers)
|
||||||
@ -67,11 +67,11 @@ namespace
|
|||||||
log("Headers " + it.first + " " + it.second);
|
log("Headers " + it.first + " " + it.second);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (eventType == ix::CobraConnection_EventType_Error)
|
if (eventType == ix::CobraEventType::Error)
|
||||||
{
|
{
|
||||||
TLogger() << "Subscriber error:" << errMsg;
|
TLogger() << "Subscriber error:" << errMsg;
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Authenticated)
|
else if (eventType == ix::CobraEventType::Authenticated)
|
||||||
{
|
{
|
||||||
log("Subscriber authenticated");
|
log("Subscriber authenticated");
|
||||||
std::string filter;
|
std::string filter;
|
||||||
@ -92,7 +92,7 @@ namespace
|
|||||||
gMessageCount++;
|
gMessageCount++;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Subscribed)
|
else if (eventType == ix::CobraEventType::Subscribed)
|
||||||
{
|
{
|
||||||
TLogger() << "Subscriber: subscribed to channel " << subscriptionId;
|
TLogger() << "Subscriber: subscribed to channel " << subscriptionId;
|
||||||
if (subscriptionId == channel)
|
if (subscriptionId == channel)
|
||||||
@ -104,7 +104,7 @@ namespace
|
|||||||
TLogger() << "Subscriber: unexpected channel " << subscriptionId;
|
TLogger() << "Subscriber: unexpected channel " << subscriptionId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_UnSubscribed)
|
else if (eventType == ix::CobraEventType::UnSubscribed)
|
||||||
{
|
{
|
||||||
TLogger() << "Subscriber: ununexpected from channel " << subscriptionId;
|
TLogger() << "Subscriber: ununexpected from channel " << subscriptionId;
|
||||||
if (subscriptionId != channel)
|
if (subscriptionId != channel)
|
||||||
@ -112,7 +112,7 @@ namespace
|
|||||||
TLogger() << "Subscriber: unexpected channel " << subscriptionId;
|
TLogger() << "Subscriber: unexpected channel " << subscriptionId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Published)
|
else if (eventType == ix::CobraEventType::Published)
|
||||||
{
|
{
|
||||||
TLogger() << "Subscriber: published message acked: " << msgId;
|
TLogger() << "Subscriber: published message acked: " << msgId;
|
||||||
}
|
}
|
||||||
|
@ -106,12 +106,12 @@ namespace ix
|
|||||||
&msgPerSeconds,
|
&msgPerSeconds,
|
||||||
&conditionVariableMutex,
|
&conditionVariableMutex,
|
||||||
&condition,
|
&condition,
|
||||||
&queue](ix::CobraConnectionEventType eventType,
|
&queue](ix::CobraEventType eventType,
|
||||||
const std::string& errMsg,
|
const std::string& errMsg,
|
||||||
const ix::WebSocketHttpHeaders& headers,
|
const ix::WebSocketHttpHeaders& headers,
|
||||||
const std::string& subscriptionId,
|
const std::string& subscriptionId,
|
||||||
CobraConnection::MsgId msgId) {
|
CobraConnection::MsgId msgId) {
|
||||||
if (eventType == ix::CobraConnection_EventType_Open)
|
if (eventType == ix::CobraEventType::Open)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber connected");
|
spdlog::info("Subscriber connected");
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ namespace ix
|
|||||||
spdlog::info("{}: {}", it.first, it.second);
|
spdlog::info("{}: {}", it.first, it.second);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Authenticated)
|
else if (eventType == ix::CobraEventType::Authenticated)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber authenticated");
|
spdlog::info("Subscriber authenticated");
|
||||||
|
|
||||||
@ -141,19 +141,19 @@ namespace ix
|
|||||||
msgCount++;
|
msgCount++;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Subscribed)
|
else if (eventType == ix::CobraEventType::Subscribed)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber: subscribed to channel {}", subscriptionId);
|
spdlog::info("Subscriber: subscribed to channel {}", subscriptionId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_UnSubscribed)
|
else if (eventType == ix::CobraEventType::UnSubscribed)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber: unsubscribed from channel {}", subscriptionId);
|
spdlog::info("Subscriber: unsubscribed from channel {}", subscriptionId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Error)
|
else if (eventType == ix::CobraEventType::Error)
|
||||||
{
|
{
|
||||||
spdlog::error("Subscriber: error {}", errMsg);
|
spdlog::error("Subscriber: error {}", errMsg);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Published)
|
else if (eventType == ix::CobraEventType::Published)
|
||||||
{
|
{
|
||||||
spdlog::error("Published message hacked: {}", msgId);
|
spdlog::error("Published message hacked: {}", msgId);
|
||||||
}
|
}
|
||||||
|
@ -39,12 +39,12 @@ namespace ix
|
|||||||
std::atomic<bool> messageAcked(false);
|
std::atomic<bool> messageAcked(false);
|
||||||
|
|
||||||
conn.setEventCallback([&conn, &channel, &data, &authenticated, &messageAcked](
|
conn.setEventCallback([&conn, &channel, &data, &authenticated, &messageAcked](
|
||||||
ix::CobraConnectionEventType eventType,
|
ix::CobraEventType eventType,
|
||||||
const std::string& errMsg,
|
const std::string& errMsg,
|
||||||
const ix::WebSocketHttpHeaders& headers,
|
const ix::WebSocketHttpHeaders& headers,
|
||||||
const std::string& subscriptionId,
|
const std::string& subscriptionId,
|
||||||
CobraConnection::MsgId msgId) {
|
CobraConnection::MsgId msgId) {
|
||||||
if (eventType == ix::CobraConnection_EventType_Open)
|
if (eventType == ix::CobraEventType::Open)
|
||||||
{
|
{
|
||||||
spdlog::info("Publisher connected");
|
spdlog::info("Publisher connected");
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ namespace ix
|
|||||||
spdlog::info("{}: {}", it.first, it.second);
|
spdlog::info("{}: {}", it.first, it.second);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Authenticated)
|
else if (eventType == ix::CobraEventType::Authenticated)
|
||||||
{
|
{
|
||||||
spdlog::info("Publisher authenticated");
|
spdlog::info("Publisher authenticated");
|
||||||
authenticated = true;
|
authenticated = true;
|
||||||
@ -64,24 +64,24 @@ namespace ix
|
|||||||
|
|
||||||
spdlog::info("Published msg {}", msgId);
|
spdlog::info("Published msg {}", msgId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Subscribed)
|
else if (eventType == ix::CobraEventType::Subscribed)
|
||||||
{
|
{
|
||||||
spdlog::info("Publisher: subscribed to channel {}", subscriptionId);
|
spdlog::info("Publisher: subscribed to channel {}", subscriptionId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_UnSubscribed)
|
else if (eventType == ix::CobraEventType::UnSubscribed)
|
||||||
{
|
{
|
||||||
spdlog::info("Publisher: unsubscribed from channel {}", subscriptionId);
|
spdlog::info("Publisher: unsubscribed from channel {}", subscriptionId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Error)
|
else if (eventType == ix::CobraEventType::Error)
|
||||||
{
|
{
|
||||||
spdlog::error("Publisher: error {}", errMsg);
|
spdlog::error("Publisher: error {}", errMsg);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Published)
|
else if (eventType == ix::CobraEventType::Published)
|
||||||
{
|
{
|
||||||
spdlog::info("Published message id {} acked", msgId);
|
spdlog::info("Published message id {} acked", msgId);
|
||||||
messageAcked = true;
|
messageAcked = true;
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Pong)
|
else if (eventType == ix::CobraEventType::Pong)
|
||||||
{
|
{
|
||||||
spdlog::info("Received websocket pong");
|
spdlog::info("Received websocket pong");
|
||||||
}
|
}
|
||||||
|
@ -106,12 +106,12 @@ namespace ix
|
|||||||
&msgPerSeconds,
|
&msgPerSeconds,
|
||||||
&quiet,
|
&quiet,
|
||||||
&fluentd,
|
&fluentd,
|
||||||
&fatalCobraError](ix::CobraConnectionEventType eventType,
|
&fatalCobraError](ix::CobraEventType eventType,
|
||||||
const std::string& errMsg,
|
const std::string& errMsg,
|
||||||
const ix::WebSocketHttpHeaders& headers,
|
const ix::WebSocketHttpHeaders& headers,
|
||||||
const std::string& subscriptionId,
|
const std::string& subscriptionId,
|
||||||
CobraConnection::MsgId msgId) {
|
CobraConnection::MsgId msgId) {
|
||||||
if (eventType == ix::CobraConnection_EventType_Open)
|
if (eventType == ix::CobraEventType::Open)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber connected");
|
spdlog::info("Subscriber connected");
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ namespace ix
|
|||||||
spdlog::info("{}: {}", it.first, it.second);
|
spdlog::info("{}: {}", it.first, it.second);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Authenticated)
|
else if (eventType == ix::CobraEventType::Authenticated)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber authenticated");
|
spdlog::info("Subscriber authenticated");
|
||||||
spdlog::info("Subscribing to {} at position {}", channel, subscriptionPosition);
|
spdlog::info("Subscribing to {} at position {}", channel, subscriptionPosition);
|
||||||
@ -145,37 +145,37 @@ namespace ix
|
|||||||
subscriptionPosition = position;
|
subscriptionPosition = position;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Subscribed)
|
else if (eventType == ix::CobraEventType::Subscribed)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber: subscribed to channel {}", subscriptionId);
|
spdlog::info("Subscriber: subscribed to channel {}", subscriptionId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_UnSubscribed)
|
else if (eventType == ix::CobraEventType::UnSubscribed)
|
||||||
{
|
{
|
||||||
spdlog::info("Subscriber: unsubscribed from channel {}", subscriptionId);
|
spdlog::info("Subscriber: unsubscribed from channel {}", subscriptionId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Error)
|
else if (eventType == ix::CobraEventType::Error)
|
||||||
{
|
{
|
||||||
spdlog::error("Subscriber: error {}", errMsg);
|
spdlog::error("Subscriber: error {}", errMsg);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Published)
|
else if (eventType == ix::CobraEventType::Published)
|
||||||
{
|
{
|
||||||
spdlog::error("Published message hacked: {}", msgId);
|
spdlog::error("Published message hacked: {}", msgId);
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Pong)
|
else if (eventType == ix::CobraEventType::Pong)
|
||||||
{
|
{
|
||||||
spdlog::info("Received websocket pong");
|
spdlog::info("Received websocket pong");
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Handshake_Error)
|
else if (eventType == ix::CobraEventType::HandshakeError)
|
||||||
{
|
{
|
||||||
spdlog::error("Subscriber: Handshake error: {}", errMsg);
|
spdlog::error("Subscriber: Handshake error: {}", errMsg);
|
||||||
fatalCobraError = true;
|
fatalCobraError = true;
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Authentication_Error)
|
else if (eventType == ix::CobraEventType::AuthenticationError)
|
||||||
{
|
{
|
||||||
spdlog::error("Subscriber: Authentication error: {}", errMsg);
|
spdlog::error("Subscriber: Authentication error: {}", errMsg);
|
||||||
fatalCobraError = true;
|
fatalCobraError = true;
|
||||||
}
|
}
|
||||||
else if (eventType == ix::CobraConnection_EventType_Subscription_Error)
|
else if (eventType == ix::CobraEventType::SubscriptionError)
|
||||||
{
|
{
|
||||||
spdlog::error("Subscriber: Subscription error: {}", errMsg);
|
spdlog::error("Subscriber: Subscription error: {}", errMsg);
|
||||||
fatalCobraError = true;
|
fatalCobraError = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user