当前位置: 首页>>代码示例>>C++>>正文


C++ Response::abortRequest方法代码示例

本文整理汇总了C++中Response::abortRequest方法的典型用法代码示例。如果您正苦于以下问题:C++ Response::abortRequest方法的具体用法?C++ Response::abortRequest怎么用?C++ Response::abortRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Response的用法示例。


在下文中一共展示了Response::abortRequest方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: processRequestResponse

//---------------------------------------------------------------------
void DefaultWorkQueueBase::processRequestResponse(Request* r, bool synchronous)
{
    Response* response = processRequest(r);

    OGRE_LOCK_MUTEX(mProcessMutex);

    RequestQueue::iterator it;
    for( it = mProcessQueue.begin(); it != mProcessQueue.end(); ++it )
    {
        if( (*it) == r )
        {
            mProcessQueue.erase( it );
            break;
        }
    }
    if( mIdleProcessed == r )
    {
        mIdleProcessed = 0;
    }
    if (response)
    {
        if (!response->succeeded())
        {
            // Failed, should we retry?
            const Request* req = response->getRequest();
            if (req->getRetryCount())
            {
                addRequestWithRID(req->getID(), req->getChannel(), req->getType(), req->getData(),
                                  req->getRetryCount() - 1);
                // discard response (this also deletes request)
                OGRE_DELETE response;
                return;
            }
        }
        if (synchronous)
        {
            processResponse(response);
            OGRE_DELETE response;
        }
        else
        {
            if( response->getRequest()->getAborted() )
            {
                // destroy response user data
                response->abortRequest();
            }
            // Queue response
            OGRE_LOCK_MUTEX(mResponseMutex);
            mResponseQueue.push_back(response);
            // no need to wake thread, this is processed by the main thread
        }

    }
    else
    {
        // no response, delete request
        LogManager::getSingleton().stream() <<
                                            "DefaultWorkQueueBase('" << mName << "') warning: no handler processed request "
                                            << r->getID() << ", channel " << r->getChannel()
                                            << ", type " << r->getType();
        OGRE_DELETE r;
    }

}
开发者ID:JobsSteve,项目名称:gamekit-2,代码行数:65,代码来源:OgreWorkQueue.cpp


注:本文中的Response::abortRequest方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。