int CEmsInfo::ReceiveStaRequestProcess(CProtocol &cProto) { std::vector<char> vecPayload; CSessionInfo *cSessionInfo = NULL; CStmReqApi cDecApi; char *szPayload = NULL; char chFlag = 0; time_t tm = 0; tm = time(NULL); chFlag = cProto.GetFlag(); if(chFlag != CProtocol::FLAG_REQUEST){ STA_LOG(STA_ERR,"Invalid Flag(flag=%d)\n",chFlag); return STA_NOK; } cProto.GetPayload(vecPayload); cSessionInfo = new CSessionInfo(); cSessionInfo->SetReceiveTime(tm); szPayload = new char[vecPayload.size() + 1]; strncpy(szPayload, &vecPayload[0], vecPayload.size()); szPayload[vecPayload.size()] = '\0'; cSessionInfo->SetReceiveData(szPayload, vecPayload.size()); DEBUG_LOG("RECEIVE DATA (Wait 3 time)\n"); m_lstPendingQueue.push_back(cSessionInfo); return STA_OK; }