void GatewayMgr::onRunCmdInterval() { g_sm->checkCurrentOn(ServiceMgr::LOGIC); if (cmds_.length() == 0) { return; } CtpCmd* cmd = cmds_.head(); // 检查时间是否到了= quint32 curTick = ::GetTickCount(); if (curTick < cmd->expires) { return; } // 流控了就一秒后重试= if (cmd->fn(++reqId_) == -3) { cmd->expires = curTick + 1000; BfError("sendcmd toofast,reqId=%d", reqId_); emit gotGatewayError(-3, "sendmsg too fast", QString().sprintf("reqId=%d", reqId_)); return; } // 消费掉这个cmd= cmds_.dequeue(); delete cmd; }
void CtpMgr::onRunCmdInterval() { g_sm->checkCurrentOn(ServiceMgr::LOGIC); if (cmds_.length() == 0) { return; } CtpCmd* cmd = cmds_.head(); // 检查时间是否到了= quint32 curTick = ::GetTickCount(); if (curTick < cmd->expires) { return; } // 流控了就一秒后重试= if (cmd->fn(++reqId_, cmd->robotId) == -3) { cmd->expires = curTick + 1000; BfDebug("sendcmd toofast,reqId=%d", reqId_); return; } // 消费掉这个cmd= cmds_.dequeue(); delete cmd; }