本文整理汇总了C++中network::Bundle::append方法的典型用法代码示例。如果您正苦于以下问题:C++ Bundle::append方法的具体用法?C++ Bundle::append怎么用?C++ Bundle::append使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类network::Bundle
的用法示例。
在下文中一共展示了Bundle::append方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onDefDataChanged
//-------------------------------------------------------------------------------------
void Base::onDefDataChanged(const PropertyDescription* propertyDescription,
PyObject* pyData)
{
if(initing())
return;
if(propertyDescription->isPersistent())
setDirty();
uint32 flags = propertyDescription->getFlags();
if((flags & ED_FLAG_BASE_AND_CLIENT) <= 0 || clientMailbox_ == NULL)
return;
// 创建一个需要广播的模板流
MemoryStream* mstream = MemoryStream::createPoolObject();
propertyDescription->getDataType()->addToStream(mstream, pyData);
Network::Bundle* pBundle = Network::Bundle::createPoolObject();
(*pBundle).newMessage(ClientInterface::onUpdatePropertys);
(*pBundle) << id();
if(pScriptModule_->usePropertyDescrAlias())
(*pBundle) << propertyDescription->aliasIDAsUint8();
else
(*pBundle) << propertyDescription->getUType();
pBundle->append(*mstream);
g_privateClientEventHistoryStats.trackEvent(scriptName(),
propertyDescription->getName(),
pBundle->currMsgLength());
// 按照当前的设计来说,有clientMailbox_必定是proxy
// 至于为何跑到base里来和python本身是C语言实现有关
static_cast<Proxy*>(this)->sendToClient(ClientInterface::onUpdatePropertys, pBundle);
MemoryStream::reclaimPoolObject(mstream);
}