(websocket) add a positive number to the heartbeat message sent, incremented each time the heartbeat is sent

This commit is contained in:
Benjamin Sergeant 2020-04-15 18:33:36 -07:00
parent 85f6b1e0b7
commit 9b8cfa0a37
7 changed files with 11 additions and 5 deletions

View File

@ -1,6 +1,10 @@
# Changelog
All changes to this project will be documented in this file.
## [9.3.0] - 2020-04-15
(websocket) add a positive number to the heartbeat message sent, incremented each time the heartbeat is sent
## [9.2.9] - 2020-04-15
(ixcobra) change cobra event callback to use a struct instead of several objects, which is more flexible/extensible

View File

@ -237,7 +237,7 @@ namespace ix
}
else if (event->type == ix::CobraEventType::Pong)
{
spdlog::info("Received websocket pong");
spdlog::info("Received websocket pong: {}", event->errMsg);
}
else if (event->type == ix::CobraEventType::HandshakeError)
{

View File

@ -239,7 +239,7 @@ namespace ix
}
else if (msg->type == ix::WebSocketMessageType::Pong)
{
invokeEventCallback(ix::CobraEventType::Pong);
invokeEventCallback(ix::CobraEventType::Pong, msg->str);
}
});
}

View File

@ -74,6 +74,7 @@ namespace ix
, _enablePong(kDefaultEnablePong)
, _pingIntervalSecs(kDefaultPingIntervalSecs)
, _pongReceived(false)
, _pingCount(0)
, _lastSendPingTimePoint(std::chrono::steady_clock::now())
{
_readbuf.resize(kChunkSize);
@ -221,7 +222,7 @@ namespace ix
{
_pongReceived = false;
std::stringstream ss;
ss << kPingMessage << "::" << _pingIntervalSecs << "s";
ss << kPingMessage << "::" << _pingIntervalSecs << "s" << "::" << _pingCount++;
return sendPing(ss.str());
}

View File

@ -212,6 +212,7 @@ namespace ix
static const int kDefaultPingIntervalSecs;
static const std::string kPingMessage;
std::atomic<uint64_t> _pingCount;
// We record when ping are being sent so that we can know when to send the next one
mutable std::mutex _lastSendPingTimePointMutex;

View File

@ -6,4 +6,4 @@
#pragma once
#define IX_WEBSOCKET_VERSION "9.2.9"
#define IX_WEBSOCKET_VERSION "9.3.0"

View File

@ -164,7 +164,7 @@ namespace ix
}
else if (event->type == ix::CobraEventType::Pong)
{
spdlog::info("Received websocket pong");
spdlog::info("Received websocket pong: {}", event->errMsg);
}
else if (event->type == ix::CobraEventType::HandshakeError)
{