本文整理汇总了C++中ArNetPacket::getCommand方法的典型用法代码示例。如果您正苦于以下问题:C++ ArNetPacket::getCommand方法的具体用法?C++ ArNetPacket::getCommand怎么用?C++ ArNetPacket::getCommand使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ArNetPacket
的用法示例。
在下文中一共展示了ArNetPacket::getCommand方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: idlePacketCallback
AREXPORT bool ArServerClient::idlePacketCallback(void)
{
ArNetPacket *idlePacket;
unsigned int command;
std::map<unsigned int, ArServerData *>::iterator it;
ArServerData *serverData;
if (mySlowIdleThread == NULL)
mySlowIdleThread = ArThread::self();
myIdlePacketsMutex.lock();
while (!myIdlePackets.empty())
{
idlePacket = myIdlePackets.front();
myIdlePackets.pop_front();
myIdlePacketsMutex.unlock();
command = idlePacket->getCommand();
if ((it = myDataMap->find(command)) == myDataMap->end())
{
ArLog::log(ArLog::Terse,
"%sArServerClient got request for command %d which doesn't exist during idle... very odd",
myLogPrefix.c_str(), command);
delete idlePacket;
return false;
}
serverData = (*it).second;
ArLog::log(myVerboseLogLevel, "Processing idle command %s",
serverData->getName());
pushSlowIdleCommand(command);
pushSlowIdleForceTcpFlag(true);
if (serverData->getFunctor() != NULL)
serverData->getFunctor()->invoke(this, idlePacket);
if (serverData->getRequestOnceFunctor() != NULL)
serverData->getRequestOnceFunctor()->invoke(this, idlePacket);
popSlowIdleCommand();
popSlowIdleForceTcpFlag();
delete idlePacket;
myIdlePacketsMutex.lock();
}
myIdlePacketsMutex.unlock();
myHaveIdlePackets = false;
return true;
}