in nlsCppSdk/transport/connectNode.cpp [4572:4619]
bool ConnectNode::ignoreCallbackWhenReconnecting(NlsEvent::EventType eventType,
int code) {
#ifdef ENABLE_CONTINUED
if (_request) {
if (_request->getRequestParam()->_enableReconnect) {
if (eventType == NlsEvent::TaskFailed) {
if ((code >= 50000000 && code < 60000000) || code == DefaultErrorCode ||
code == SysErrorCode || code == UnknownWsHeadType ||
code == HttpConnectFailed || code == SysConnectFailed ||
code == ClientError || code == ConcurrencyExceed) {
if (_reconnection.state == NodeReconnection::NoReconnection ||
_reconnection.state ==
NodeReconnection::NewReconnectionStarting) {
_reconnection.interruption_timestamp_ms =
utility::TextUtils::GetTimestampMs();
_reconnection.reconnected_count++;
_reconnection.state = NodeReconnection::WillReconnect;
}
}
}
if (_reconnection.state == NodeReconnection::WillReconnect ||
_reconnection.state == NodeReconnection::TriggerReconnection) {
if (eventType == NlsEvent::TaskFailed || eventType == NlsEvent::Close) {
if (_reconnection.reconnected_count <=
NodeReconnection::max_try_count) {
NlsEvent tmp;
LOG_INFO(
"Node(%p) state(%d) get status code is %d with %s, try %d "
"times, should reconnecting "
"and "
"ignore callback.",
this, _reconnection.state, code,
tmp.getMsgTypeString(eventType).c_str(),
_reconnection.reconnected_count);
return true;
} else {
_reconnection.state = NodeReconnection::NoReconnection;
LOG_INFO("Node(%p) failed %d times, should boot normally.", this,
_reconnection.reconnected_count);
}
}
}
}
}
#endif
return false;
}