Пример #1
0
void KaaTcpResponseProcessor::processResponseBuffer(const char *buf, std::uint32_t size)
{
    parser_.parseBuffer(buf, size);
    const auto& messages_ = parser_.releaseMessages();
    for (auto it = messages_.begin(); it != messages_.end(); ++it) {
        switch (it->first) {
            case KaaTcpMessageType::MESSAGE_CONNACK:
                KAA_LOG_DEBUG("KaaTcp: CONNACK message received");
                if (onConnack_) {
                    onConnack_(ConnackMessage(it->second.first.get(), it->second.second));
                }
                break;
            case KaaTcpMessageType::MESSAGE_KAASYNC:
                KAA_LOG_DEBUG("KaaTcp: KAASYNC message received");
                if (onKaaSyncResponse_) {
                    onKaaSyncResponse_(KaaSyncResponse(it->second.first.get(), it->second.second));
                }
                break;
            case KaaTcpMessageType::MESSAGE_PINGRESP:
                KAA_LOG_DEBUG("KaaTcp: PINGRESP message received");
                if (onPingResp_) {
                    onPingResp_();
                }
                break;
            case KaaTcpMessageType::MESSAGE_DISCONNECT:
                KAA_LOG_DEBUG("KaaTcp: DISCONNECT message received");
                if (onDisconnect_) {
                    onDisconnect_(DisconnectMessage(it->second.first.get(), it->second.second));
                }
                break;
            default:
                KAA_LOG_ERROR(boost::format("KaaTcp: unexpected message type %1%") % (int) it->first);
                throw KaaException(boost::format("KaaTcp: unexpected message type: %1%") % (int) it->first);
        }
    }
}
Пример #2
0
boost::system::error_code DefaultOperationTcpChannel::sendDisconnect()
{
    KAA_LOG_DEBUG(boost::format("Channel [%1%] sending DISCONNECT") % getId());
    return sendData(DisconnectMessage(DisconnectReason::NONE));
}