本文整理汇总了C++中ZStreamW::WriteUInt64方法的典型用法代码示例。如果您正苦于以下问题:C++ ZStreamW::WriteUInt64方法的具体用法?C++ ZStreamW::WriteUInt64怎么用?C++ ZStreamW::WriteUInt64使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ZStreamW
的用法示例。
在下文中一共展示了ZStreamW::WriteUInt64方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ToStream
void ZTBQueryNode_ID_Constant::ToStream(const ZStreamW& iStreamW)
{
iStreamW.WriteUInt8(5);
sWriteCount(iStreamW, fIDs.size());
for (vector<uint64>::iterator i = fIDs.begin(), theEnd = fIDs.end();
i != theEnd; ++i)
{
iStreamW.WriteUInt64(*i);
}
}
示例2: Write
bool ZTSWatcherServerAsync::Write(const ZStreamW& iStreamW)
{
bool wroteAnything = false;
ZMutexLocker locker(fMutex);
if (fSendClose)
{
iStreamW.WriteUInt8(eResp_Close);
return false;
}
else if (fIDsNeeded)
{
if (ZLOG(s, eDebug, "ZTSWatcherServerAsync"))
s << "Write, sending IDs";
const size_t countNeeded = fIDsNeeded;
fIDsNeeded = 0;
locker.Release();
uint64 theBaseID;
size_t countIssued;
bool success = fTSWatcher->AllocateIDs(countNeeded, theBaseID, countIssued);
if (!success)
{
iStreamW.WriteUInt8(eResp_Close);
return false;
}
iStreamW.WriteUInt8(eResp_IDs);
iStreamW.WriteUInt64(theBaseID);
iStreamW.WriteCount(countIssued);
wroteAnything = true;
if (ZLOG(s, eDebug, "ZTSWatcherServerAsync"))
s << "Write, sent IDs";
}
else if (fSyncNeeded)
{
if (ZLOG(s, eDebug, "ZTSWatcherServerAsync"))
s << "Write, sync";
fSyncNeeded = false;
vector<uint64> removedIDs;
vector<uint64> addedIDs;
vector<int64> removedQueries;
vector<ZTSWatcher::AddedQueryCombo> addedQueries;
vector<uint64> writtenTupleIDs;
vector<ZTuple> writtenTuples;
fRemovedIDs.swap(removedIDs);
fAddedIDs.swap(addedIDs);
fRemovedQueries.swap(removedQueries);
fAddedQueries.swap(addedQueries);
fWrittenTupleIDs.swap(writtenTupleIDs);
fWrittenTuples.swap(writtenTuples);
locker.Release();
vector<uint64> watcherAddedIDs;
vector<uint64> changedTupleIDs;
vector<ZTuple> changedTuples;
map<int64, vector<uint64> > changedQueries;
using ZUtil_STL::sFirstOrNil;
bool success = fTSWatcher->Sync(
sFirstOrNil(removedIDs), removedIDs.size(),
sFirstOrNil(addedIDs), addedIDs.size(),
sFirstOrNil(removedQueries), removedQueries.size(),
sFirstOrNil(addedQueries), addedQueries.size(),
watcherAddedIDs,
changedTupleIDs, changedTuples,
sFirstOrNil(writtenTupleIDs), sFirstOrNil(writtenTuples), writtenTupleIDs.size(),
changedQueries);
if (!success)
{
iStreamW.WriteUInt8(eResp_Close);
return false;
}
iStreamW.WriteUInt8(eResp_SyncResults);
iStreamW.WriteCount(watcherAddedIDs.size());
for (vector<uint64>::const_iterator
i = watcherAddedIDs.begin(), theEnd = watcherAddedIDs.end();
i != theEnd; ++i)
{
iStreamW.WriteUInt64(*i);
}
iStreamW.WriteCount(changedTupleIDs.size());
vector<ZTuple>::const_iterator iterCT = changedTuples.begin();
for (vector<uint64>::const_iterator
i = changedTupleIDs.begin(), theEnd = changedTupleIDs.end();
i != theEnd; ++i, ++iterCT)
{
iStreamW.WriteUInt64(*i);
(*iterCT).ToStream(iStreamW);
//.........这里部分代码省略.........