temp2
This commit is contained in:
@@ -284,14 +284,14 @@ void SClient::checkParseMessage(unique_ptr<Message> p_SPITMessage) {
|
||||
return;
|
||||
}
|
||||
|
||||
int intActualMessageNumber = (int)(p_SPITMessage->getHeader()->getMessageNumber() & 0xFF);
|
||||
int msgNum = (int)(p_SPITMessage->getHeader()->getMessageNumber() & 0xFF);
|
||||
|
||||
if (intActualMessageNumber == 0) {
|
||||
if (msgNum == 0) {
|
||||
parseMessage(std::move(p_SPITMessage));
|
||||
return;
|
||||
}
|
||||
if (mMessageNumberReceived < 0) {
|
||||
mMessageNumberReceived = intActualMessageNumber;
|
||||
mMessageNumberReceived = msgNum;
|
||||
parseMessage(std::move(p_SPITMessage));
|
||||
return;
|
||||
}
|
||||
@@ -300,8 +300,8 @@ void SClient::checkParseMessage(unique_ptr<Message> p_SPITMessage) {
|
||||
if (intNextMessageNumber > 255 || intNextMessageNumber < 1)
|
||||
intNextMessageNumber = 1;
|
||||
|
||||
if (intActualMessageNumber == intNextMessageNumber) {
|
||||
mMessageNumberReceived = intActualMessageNumber;
|
||||
if (msgNum == intNextMessageNumber) {
|
||||
mMessageNumberReceived = msgNum;
|
||||
parseMessage(std::move(p_SPITMessage));
|
||||
|
||||
// check overtaking messages
|
||||
@@ -313,10 +313,10 @@ void SClient::checkParseMessage(unique_ptr<Message> p_SPITMessage) {
|
||||
intNextMessageNumber = 1;
|
||||
|
||||
auto &ptrOvertakingSPIT_Message = *it;
|
||||
intActualMessageNumber = (int)(ptrOvertakingSPIT_Message->getHeader()->getMessageNumber() & 0xFF);
|
||||
msgNum = (int)(ptrOvertakingSPIT_Message->getHeader()->getMessageNumber() & 0xFF);
|
||||
|
||||
if (intActualMessageNumber == intNextMessageNumber) {
|
||||
mMessageNumberReceived = intActualMessageNumber;
|
||||
if (msgNum == intNextMessageNumber) {
|
||||
mMessageNumberReceived = msgNum;
|
||||
parseMessage(move(ptrOvertakingSPIT_Message));
|
||||
mOvertakingMessages.erase(it);
|
||||
|
||||
|
||||
@@ -195,23 +195,23 @@ SProcessor::~SProcessor() {
|
||||
// // // } //Excample
|
||||
// // }
|
||||
|
||||
// std::vector<char> SProcessor::createMessage(Message::OPPart &opPart) {
|
||||
// if (mMessageNumberSend == 255)
|
||||
// mMessageNumberSend = 1;
|
||||
// else
|
||||
// mMessageNumberSend++;
|
||||
// opPart.setMessageNumber(mMessageNumberSend);
|
||||
// opPart.setServerInfoInHeader(mGuid, mServerID);
|
||||
std::vector<char> SProcessor::createMessage(Message::OPPart &opPart) {
|
||||
if (mMessageNumberSend == 255)
|
||||
mMessageNumberSend = 1;
|
||||
else
|
||||
mMessageNumberSend++;
|
||||
opPart.setMessageNumber(mMessageNumberSend);
|
||||
opPart.setServerInfoInHeader(mGuid, mServerID);
|
||||
|
||||
// int opFlag = opPart.getHeader()->getType();
|
||||
// try {
|
||||
// return Message::createMessage(opPart);
|
||||
// } catch (...) {
|
||||
// ESP_LOGD(TAG, "Exception client OPFlag: %d", opFlag);
|
||||
// }
|
||||
// return {};
|
||||
// }
|
||||
// // todo Delete SProcessor::mInternCallbacks.sendMessage(Message::OPPart &opPart
|
||||
int opFlag = opPart.getHeader()->getType();
|
||||
try {
|
||||
return Message::createMessage(opPart);
|
||||
} catch (...) {
|
||||
ESP_LOGD(TAG, "Exception client OPFlag: %d", opFlag);
|
||||
}
|
||||
return {};
|
||||
}
|
||||
// todo Delete SProcessor::mInternCallbacks.sendMessage(Message::OPPart &opPart
|
||||
|
||||
// // void SProcessor::receiveSPITMessage(SClient &rM) {
|
||||
// // char buffer[MAXSPITMESSAGEBYTECOUNT + 1];
|
||||
@@ -235,61 +235,61 @@ SProcessor::~SProcessor() {
|
||||
// mOvertakingMessages.clear();
|
||||
// }
|
||||
|
||||
// void SProcessor::checkParseMessageData(vector<char> data) {
|
||||
// auto message = make_unique<Message>(data);
|
||||
// answerWatchdog();
|
||||
// if (!message->getHeader() || !message->getOPPart()) {
|
||||
// ESP_LOGD(TAG, "Client::parseMessage incomplete message");
|
||||
// return;
|
||||
// }
|
||||
void SProcessor::checkParseMessageData(vector<char> data) {
|
||||
auto message = make_unique<Message>(data);
|
||||
// answerWatchdog();
|
||||
if (!message->getHeader() || !message->getOPPart()) {
|
||||
ESP_LOGD(TAG, "Client::parseMessage incomplete message");
|
||||
return;
|
||||
}
|
||||
|
||||
// int msgNum = (int)(message->getHeader()->getMessageNumber() & 0xFF);
|
||||
int msgNum = (int)(message->getHeader()->getMessageNumber() & 0xFF);
|
||||
|
||||
// if (msgNum == 0) {
|
||||
// parseMessage(*message);
|
||||
// return;
|
||||
// }
|
||||
// if (mMessageNumberReceived < 0) {
|
||||
// mMessageNumberReceived = msgNum;
|
||||
// parseMessage(*message);
|
||||
// return;
|
||||
// }
|
||||
if (msgNum == 0) {
|
||||
parseMessage(*message);
|
||||
return;
|
||||
}
|
||||
if (mMessageNumberReceived < 0) {
|
||||
mMessageNumberReceived = msgNum;
|
||||
parseMessage(*message);
|
||||
return;
|
||||
}
|
||||
|
||||
// int msgNumNext = mMessageNumberReceived + 1;
|
||||
// if (msgNumNext > 255 || msgNumNext < 1)
|
||||
// msgNumNext = 1;
|
||||
int msgNumNext = mMessageNumberReceived + 1;
|
||||
if (msgNumNext > 255 || msgNumNext < 1)
|
||||
msgNumNext = 1;
|
||||
|
||||
// if (msgNum == msgNumNext) {
|
||||
// mMessageNumberReceived = msgNum;
|
||||
// parseMessage(*message);
|
||||
if (msgNum == msgNumNext) {
|
||||
mMessageNumberReceived = msgNum;
|
||||
parseMessage(*message);
|
||||
|
||||
// // check overtaking messages
|
||||
// auto it = mOvertakingMessages.begin();
|
||||
// while (mOvertakingMessages.size() > 0) {
|
||||
// check overtaking messages
|
||||
auto it = mOvertakingMessages.begin();
|
||||
while (mOvertakingMessages.size() > 0) {
|
||||
|
||||
// msgNumNext = mMessageNumberReceived + 1;
|
||||
// if (msgNumNext > 255 || msgNumNext < 1)
|
||||
// msgNumNext = 1;
|
||||
msgNumNext = mMessageNumberReceived + 1;
|
||||
if (msgNumNext > 255 || msgNumNext < 1)
|
||||
msgNumNext = 1;
|
||||
|
||||
// auto &overtakingMessage = *it;
|
||||
// msgNum = (int)(overtakingMessage->getHeader()->getMessageNumber() & 0xFF);
|
||||
auto &overtakingMessage = *it;
|
||||
msgNum = (int)(overtakingMessage->getHeader()->getMessageNumber() & 0xFF);
|
||||
|
||||
// if (msgNum == msgNumNext) {
|
||||
// mMessageNumberReceived = msgNum;
|
||||
// parseMessage(*overtakingMessage);
|
||||
// mOvertakingMessages.erase(it);
|
||||
if (msgNum == msgNumNext) {
|
||||
mMessageNumberReceived = msgNum;
|
||||
parseMessage(*overtakingMessage);
|
||||
mOvertakingMessages.erase(it);
|
||||
|
||||
// it = mOvertakingMessages.begin();
|
||||
// } else {
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
it = mOvertakingMessages.begin();
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// } else {
|
||||
// // p_SPITMessage has overtaken another message
|
||||
// addOvertakingMessage(move(message));
|
||||
// }
|
||||
// }
|
||||
} else {
|
||||
// p_SPITMessage has overtaken another message
|
||||
// addOvertakingMessage(move(message));
|
||||
}
|
||||
}
|
||||
|
||||
// void SProcessor::addOvertakingMessage(unique_ptr<Message> message) {
|
||||
// if (!message) {
|
||||
@@ -311,74 +311,74 @@ SProcessor::~SProcessor() {
|
||||
// mOvertakingMessages.push_back(move(message));
|
||||
// }
|
||||
|
||||
// void SProcessor::parseMessage(Message& message) {
|
||||
// answerWatchdog();
|
||||
// if (!message.getHeader() || !message.getOPPart()) {
|
||||
// ESP_LOGD(TAG, "Client::parseMessage incomplete message");
|
||||
// return;
|
||||
// }
|
||||
void SProcessor::parseMessage(Message& message) {
|
||||
// answerWatchdog();
|
||||
if (!message.getHeader() || !message.getOPPart()) {
|
||||
ESP_LOGD(TAG, "Client::parseMessage incomplete message");
|
||||
return;
|
||||
}
|
||||
|
||||
// switch (message.getType()) {
|
||||
// //----- Connection -----
|
||||
// case Message::ConnectAnswer::OPFLAG:
|
||||
// parseConnectAnswer(message.getAs<Message::ConnectAnswer>());
|
||||
// break;
|
||||
// case Message::Disconnect::OPFLAG:
|
||||
// parseDisconnect(message.getAs<Message::Disconnect>());
|
||||
// break;
|
||||
// case Message::ReportProject::OPFLAG:
|
||||
// parseReportProject(message.getAs<Message::ReportProject>());
|
||||
// break;
|
||||
// case Message::Watchdog::OPFLAG:
|
||||
// parseWatchdog(message.getAs<Message::Watchdog>());
|
||||
// break;
|
||||
// case Message::WatchdogAnswer::OPFLAG:
|
||||
// parseWatchdogAnswer(message.getAs<Message::WatchdogAnswer>());
|
||||
// break;
|
||||
// //----- SPIT Project -----
|
||||
// case Message::StartProjectTransfer::OPFLAG:
|
||||
// parseStartProjectTransfer(message.getAs<Message::StartProjectTransfer>());
|
||||
// break;
|
||||
// case Message::CloseProject::OPFLAG:
|
||||
// parseCloseProject(message.getAs<Message::CloseProject>());
|
||||
// break;
|
||||
// case Message::RequestProjectTransfer::OPFLAG:
|
||||
// parseRequestProjectTransfer(message.getAs<Message::RequestProjectTransfer>());
|
||||
// break;
|
||||
// case Message::EndProjectTransfer::OPFLAG:
|
||||
// parseEndProjectTransfer(message.getAs<Message::EndProjectTransfer>());
|
||||
// break;
|
||||
// //----- SPIT Types ------
|
||||
// case Message::ReportType::OPFLAG:
|
||||
// parseReportType(message.getAs<Message::ReportType>());
|
||||
// break;
|
||||
// case Message::RemoveType::OPFLAG:
|
||||
// parseRemoveSPITType(message.getAs<Message::RemoveType>());
|
||||
// //----- SPIT Objects ------
|
||||
// break;
|
||||
// case Message::ReportObject::OPFLAG:
|
||||
// parseReportObject(message.getAs<Message::ReportObject>());
|
||||
// break;
|
||||
// case Message::RemoveObject::OPFLAG:
|
||||
// parseRemoveSPITObject(message.getAs<Message::RemoveObject>());
|
||||
// break;
|
||||
// //----- Play SPIT Objects ------
|
||||
// case Message::PlayStart::OPFLAG:
|
||||
// parsePlaySPITStart(message.getAs<Message::PlayStart>());
|
||||
// break;
|
||||
// case Message::PlayObject::OPFLAG:
|
||||
// parsePlaySPITObject(message.getAs<Message::PlayObject>());
|
||||
// break;
|
||||
// case Message::PlayEnd::OPFLAG:
|
||||
// parsePlaySPITEnd(message.getAs<Message::PlayEnd>());
|
||||
// break;
|
||||
// case Message::ReportPlayStatus::OPFLAG:
|
||||
// parseReportPlayStatus(message.getAs<Message::ReportPlayStatus>());
|
||||
// break;
|
||||
// default:
|
||||
// ESP_LOGD(TAG, "Client::parseMessage: Unknown Message");
|
||||
// }
|
||||
// }
|
||||
switch (message.getType()) {
|
||||
//----- Connection -----
|
||||
case Message::ConnectAnswer::OPFLAG:
|
||||
// parseConnectAnswer(message.getAs<Message::ConnectAnswer>());
|
||||
break;
|
||||
case Message::Disconnect::OPFLAG:
|
||||
// parseDisconnect(message.getAs<Message::Disconnect>());
|
||||
break;
|
||||
case Message::ReportProject::OPFLAG:
|
||||
parseReportProject(message.getAs<Message::ReportProject>());
|
||||
break;
|
||||
case Message::Watchdog::OPFLAG:
|
||||
// parseWatchdog(message.getAs<Message::Watchdog>());
|
||||
break;
|
||||
case Message::WatchdogAnswer::OPFLAG:
|
||||
// parseWatchdogAnswer(message.getAs<Message::WatchdogAnswer>());
|
||||
break;
|
||||
//----- SPIT Project -----
|
||||
case Message::StartProjectTransfer::OPFLAG:
|
||||
parseStartProjectTransfer(message.getAs<Message::StartProjectTransfer>());
|
||||
break;
|
||||
case Message::CloseProject::OPFLAG:
|
||||
parseCloseProject(message.getAs<Message::CloseProject>());
|
||||
break;
|
||||
case Message::RequestProjectTransfer::OPFLAG:
|
||||
parseRequestProjectTransfer(message.getAs<Message::RequestProjectTransfer>());
|
||||
break;
|
||||
case Message::EndProjectTransfer::OPFLAG:
|
||||
parseEndProjectTransfer(message.getAs<Message::EndProjectTransfer>());
|
||||
break;
|
||||
//----- SPIT Types ------
|
||||
case Message::ReportType::OPFLAG:
|
||||
parseReportType(message.getAs<Message::ReportType>());
|
||||
break;
|
||||
case Message::RemoveType::OPFLAG:
|
||||
parseRemoveType(message.getAs<Message::RemoveType>());
|
||||
//----- SPIT Objects ------
|
||||
break;
|
||||
case Message::ReportObject::OPFLAG:
|
||||
parseReportObject(message.getAs<Message::ReportObject>());
|
||||
break;
|
||||
case Message::RemoveObject::OPFLAG:
|
||||
parseRemoveObject(message.getAs<Message::RemoveObject>());
|
||||
break;
|
||||
//----- Play SPIT Objects ------
|
||||
case Message::PlayStart::OPFLAG:
|
||||
parsePlayStart(message.getAs<Message::PlayStart>());
|
||||
break;
|
||||
case Message::PlayObject::OPFLAG:
|
||||
parsePlayObject(message.getAs<Message::PlayObject>());
|
||||
break;
|
||||
case Message::PlayEnd::OPFLAG:
|
||||
parsePlayEnd(message.getAs<Message::PlayEnd>());
|
||||
break;
|
||||
case Message::ReportPlayStatus::OPFLAG:
|
||||
parseReportPlayStatus(message.getAs<Message::ReportPlayStatus>());
|
||||
break;
|
||||
default:
|
||||
ESP_LOGD(TAG, "Client::parseMessage: Unknown Message");
|
||||
}
|
||||
}
|
||||
|
||||
// //----- Connection ------
|
||||
// /**
|
||||
|
||||
Reference in New Issue
Block a user