This commit is contained in:
azw 2023-11-13 06:44:57 +00:00
parent 08f2164236
commit b1b9b8c3b9
2 changed files with 0 additions and 107 deletions

View File

@ -89,7 +89,6 @@ const std::string App::GetPkgName()
void App::Init()
{
msg_mutex_ = new std::mutex();
udp_msg_mutex_ = new std::mutex();
HandlerMgr::Instance()->Init();
@ -147,10 +146,7 @@ void App::UnInit()
JsonDataMgr::Instance()->UnInit();
HandlerMgr::Instance()->UnInit();
FreeSocketMsgQueue();
FreeUdpMsgQueue();
delete msg_mutex_;
msg_mutex_ = nullptr;
delete udp_msg_mutex_;
udp_msg_mutex_ = nullptr;
a8::XPrintf("wsproxy terminated instance_id:%d pid:%d\n",
@ -168,7 +164,6 @@ void App::QuickExecute()
{
f8::Timer::Instance()->Update();
f8::MsgQueue::Instance()->Update();
DispatchMsg();
DispatchUdpMsg();
LongSessionMgr::Instance()->Update();
}
@ -179,20 +174,6 @@ void App::SlowerExecute()
bool App::HasTask()
{
{
if (!work_node_) {
msg_mutex_->lock();
if (!work_node_ && top_node_) {
work_node_ = top_node_;
top_node_ = nullptr;
bot_node_ = nullptr;
}
msg_mutex_->unlock();
}
if (work_node_) {
return true;
}
}
{
if (!udp_work_node_) {
udp_msg_mutex_->lock();
@ -210,63 +191,6 @@ bool App::HasTask()
return false;
}
void App::DispatchMsg()
{
#if 0
long long starttick = a8::XGetTickCount();
if (!work_node_ && top_node_) {
msg_mutex_->lock();
work_node_ = top_node_;
top_node_ = nullptr;
bot_node_ = nullptr;
working_msgnode_size_ = msgnode_size_;
msg_mutex_->unlock();
}
f8::MsgHdr hdr;
while (work_node_) {
MsgNode *pdelnode = work_node_;
work_node_ = pdelnode->next;
hdr.msgid = pdelnode->msgid;
hdr.seqid = pdelnode->seqid;
hdr.socket_handle = pdelnode->sockhandle;
hdr.buf = pdelnode->buf;
hdr.buflen = pdelnode->buflen;
hdr.offset = 0;
hdr.ip_saddr = pdelnode->ip_saddr;
switch (pdelnode->sockfrom) {
case SF_Client:
{
ProcessClientMsg(hdr, pdelnode->tag);
}
break;
case SF_TargetServer:
{
ProcessTargetServerMsg(hdr, pdelnode->tag);
}
break;
case SF_MasterServer:
{
ProcessMasterServerMsg(hdr, pdelnode->tag);
}
break;
}
if (pdelnode->buf) {
free(pdelnode->buf);
}
free(pdelnode);
working_msgnode_size_--;
if (a8::XGetTickCount() - starttick > 200) {
break;
}
}//end while
if (!work_node_) {
working_msgnode_size_ = 0;
}
#endif
}
void App::ProcessClientMsg(f8::MsgHdr* hdr, int tag)
{
if (hdr->msgid == ss::_SS_CMLogin ||
@ -360,30 +284,6 @@ void App::ProcessTargetServerMsg(f8::MsgHdr* hdr, int tag)
}
}
void App::FreeSocketMsgQueue()
{
msg_mutex_->lock();
if (!work_node_) {
work_node_ = top_node_;
top_node_ = nullptr;
bot_node_ = nullptr;
}
while (work_node_) {
MsgNode* pdelnode = work_node_;
work_node_ = work_node_->next;
if (pdelnode->buf) {
free(pdelnode->buf);
}
free(pdelnode);
if (!work_node_) {
work_node_ = top_node_;
top_node_ = nullptr;
bot_node_ = nullptr;
}
}
msg_mutex_->unlock();
}
void App::FreeUdpMsgQueue()
{
udp_msg_mutex_->lock();

View File

@ -38,24 +38,17 @@ private:
void QuickExecute();
void SlowerExecute();
void DispatchMsg();
void DispatchUdpMsg();
void ProcessClientMsg(f8::MsgHdr* hdr, int tag);
void ProcessMasterServerMsg(f8::MsgHdr* hdr, int tag);
void ProcessTargetServerMsg(f8::MsgHdr* hdr, int tag);
void FreeSocketMsgQueue();
void FreeUdpMsgQueue();
private:
PerfMonitor perf_;
std::mutex* msg_mutex_ = nullptr;
MsgNode* top_node_ = nullptr;
MsgNode* bot_node_ = nullptr;
MsgNode* work_node_ = nullptr;
std::mutex* udp_msg_mutex_ = nullptr;
UdpMsgNode* udp_top_node_ = nullptr;
UdpMsgNode* udp_bot_node_ = nullptr;