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


C++ MessageBuffer::ReadCompleted方法代码示例

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


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

示例1: PartialProcessPacket

inline bool PartialProcessPacket(Battlenet::Session* session, MessageBuffer& inputBuffer)
{
    MessageBuffer& buffer = session->*outputBuffer;

    // We have full read header, now check the data payload
    if (buffer.GetRemainingSpace() > 0)
    {
        // need more data in the payload
        std::size_t readDataSize = std::min(inputBuffer.GetActiveSize(), buffer.GetRemainingSpace());
        buffer.Write(inputBuffer.GetReadPointer(), readDataSize);
        inputBuffer.ReadCompleted(readDataSize);
    }

    if (buffer.GetRemainingSpace() > 0)
    {
        // Couldn't receive the whole data this time.
        ASSERT(inputBuffer.GetActiveSize() == 0);
        return false;
    }

    // just received fresh new payload
    if (!(session->*processMethod)())
    {
        session->CloseSocket();
        return false;
    }

    return true;
}
开发者ID:Diyvol,项目名称:TrinityCore,代码行数:29,代码来源:Session.cpp


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