本文整理汇总了C++中FramePtr::getLastFlag方法的典型用法代码示例。如果您正苦于以下问题:C++ FramePtr::getLastFlag方法的具体用法?C++ FramePtr::getLastFlag怎么用?C++ FramePtr::getLastFlag使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FramePtr
的用法示例。
在下文中一共展示了FramePtr::getLastFlag方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
//.........这里部分代码省略.........
ss.ignore();
}
std::cout << "MsgType to Print:";
for (auto& item: doMsgTypes)
{
std::cout << " " << item.first;
}
std::cout << std::endl;
}
string nonMtStr = vm["rmsgtype"].as<string>();
bool mtNonList = nonMtStr.length() > 0;
if (mtNonList)
{
std::stringstream ss(nonMtStr);
int i;
while (ss >> i)
{
nonMsgTypes[i] = true;
if (ss.peek() == ',')
{
ss.ignore();
}
}
std::cout << "MsgType to Skip:";
for (auto& item: nonMsgTypes)
{
std::cout << " " << item.first;
}
std::cout << std::endl;
}
JournalReaderPtr reader = JournalReader::create(folder, jname, sn, "JournalPrinter");
int i = 0;
do
{
FramePtr frame = reader->getNextFrame();
while (frame.get() != nullptr && en > frame->getNano())
{
short msgType = frame->getMsgType();
bool toPrint = true;
if ((mtDoList && doMsgTypes.find(msgType) == doMsgTypes.end())
|| (mtNonList && nonMsgTypes.find(msgType) != nonMsgTypes.end()))
{
toPrint = false;
}
if (toPrint)
{
std::cout << "[" << i++ << "]"
<< " (st)" << (short)frame->getStatus()
<< " (so)" << frame->getSource()
<< " (na)" << frame->getNano()
<< " (en)" << frame->getExtraNano();
if (toTimeVisual)
{
std::cout << " (vn)" << parseNano(frame->getNano(), format.c_str());
}
std::cout << " (fl)" << frame->getFrameLength()
<< " (dl)" << frame->getDataLength()
<< " (hl)" << frame->getHeaderLength()
<< " (hs)" << frame->getHashCode()
<< " (mt)" << frame->getMsgType()
<< " (lf)" << (short)frame->getLastFlag()
<< " (id)" << frame->getRequestId()
<< " (er)" << frame->getErrorId();
if (frame->getErrorMsg() != nullptr)
{
std::cout << " (em)" << frame->getErrorMsg();
}
if (dataLengthToPrint > 0)
{
std::cout << " (cn)" << string((char*)frame->getData(), std::min(dataLengthToPrint, frame->getDataLength()));
}
if (toVerify)
{
FH_TYPE_HASHNM hash = MurmurHash2(frame->getData(), frame->getDataLength(), HASH_SEED);
if (hash != frame->getHashCode())
{
std::cerr << std::endl << std::endl
<< "Hash Code mismatch: "
<< "[frame] " << frame->getHashCode()
<< " [actual] " << hash << std::endl;
return -1;
}
else
{
std::cout << " (*)";
}
}
std::cout << std::endl;
if (needDetail)
{
printData(frame->getData(), msgType);
}
}
frame = reader->getNextFrame();
}
}
while (vm.count("keep"));
}
return 0;
}