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


C++ MamdaOrderBook::setIsConsistent方法代码示例

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


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

示例1: checkQuoteCount

void MamdaQuoteToBookListenerImpl::checkQuoteCount (
    MamdaSubscription*  subscription,
    const MamaMsg&      msg)
{
    // Check number of quotes for gaps
    mama_u32_t quoteCount = mQuoteCache.mTmpQuoteCount;
    mama_u16_t conflateCount = 0;
    if (!msg.tryU16 ("wConflateQuoteCount", 23, conflateCount))
    {
        conflateCount = 1;
    }

    if (quoteCount > 0)
    {
        if ((mQuoteCache.mQuoteCount > 0) &&
            (quoteCount > (mQuoteCache.mQuoteCount+conflateCount)))
        {
            mGapBegin = mQuoteCache.mQuoteCount+conflateCount;
            mGapEnd   = quoteCount-1;
            mQuoteCache.mQuoteCount = quoteCount;
            mFullBook->setIsConsistent (false);
            invokeGapHandlers (subscription, &msg);
        }
    }
    mQuoteCache.mQuoteCount = quoteCount;
}
开发者ID:MattMulhern,项目名称:OpenMamaCassandra,代码行数:26,代码来源:MamdaQuoteToBookListener.cpp

示例2: handleRecap

void MamdaQuoteToBookListenerImpl::handleRecap (MamdaSubscription*  subscription,
                                const MamaMsg&      msg)
{
    // Clear the book
    mFullBook->clear();

    // Clear ask/bid 
    mQuoteCache.mBidPrice = 0.0;
    mQuoteCache.mBidSize  = 0.0;
    mQuoteCache.mAskPrice = 0.0;
    mQuoteCache.mAskSize  = 0.0;

    // get all the fields out of the message
    updateQuoteFields (msg);

    checkQuoteCount (subscription, msg);

    if (mFullBook->getIsConsistent()==false)
    {
        mama_log (MAMA_LOG_LEVEL_NORMAL,
            "Received Recap: Book now consistent for  %s\n",
            (subscription ? subscription->getSymbol() : "no symbol"));
    }

    MamdaOrderBookPriceLevel* level = NULL;
    if (mQuoteCache.mGotBidSize || mQuoteCache.mGotBidPrice)
    {
        addLevel (level, 
                  mQuoteCache.mBidPrice.getValue(), 
                  mQuoteCache.mBidSize, 
                  MamdaOrderBookPriceLevel::MAMDA_BOOK_SIDE_BID,
                  mQuoteCache.mQuoteTime);
    }

    if (mQuoteCache.mGotAskSize || mQuoteCache.mGotAskPrice)
    {
        addLevel (level, 
                  mQuoteCache.mAskPrice.getValue(), 
                  mQuoteCache.mAskSize, 
                  MamdaOrderBookPriceLevel::MAMDA_BOOK_SIDE_ASK,
                  mQuoteCache.mQuoteTime);
    }

    mFullBook->setIsConsistent (true);
    setQuality (subscription, MAMA_QUALITY_OK);
    invokeRecapHandlers (subscription, &msg);
    MamdaOrderBookComplexDelta::clear();
}
开发者ID:MattMulhern,项目名称:OpenMamaCassandra,代码行数:48,代码来源:MamdaQuoteToBookListener.cpp


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