本文整理汇总了C++中mongo::BSONObj::objsize方法的典型用法代码示例。如果您正苦于以下问题:C++ BSONObj::objsize方法的具体用法?C++ BSONObj::objsize怎么用?C++ BSONObj::objsize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mongo::BSONObj
的用法示例。
在下文中一共展示了BSONObj::objsize方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: return_bson
Datum return_bson(const mongo::BSONObj& b)
{
std::size_t bson_size = b.objsize() + VARHDRSZ;
bytea* new_bytea = (bytea *) palloc(bson_size);
SET_VARSIZE(new_bytea, bson_size);
std::memcpy(VARDATA(new_bytea), b.objdata(), b.objsize());
PG_RETURN_BYTEA_P(new_bytea);
}
示例2: DoHost
void Processer::DoHost(const std::string& grid,const std::string& cluster,mongo::BSONObj& host)
{
std::string host_id;
std::cout << host << std::endl;
if(host.hasField("host_ID") && host.hasField("heartbeat"))
{
//deal the record with host level
//do not need to cut it off
DBModules::iterator iter = db_modules_.begin();
for(;iter!=db_modules_.end();++iter)
{
iter->handler(host.objdata(),host.objsize(),NULL);
}
// host_id = host.getStringField("host_ID");
// std::vector<mongo::BSONElement> ele;
// host.elems(ele);
// for(int i=0;i<ele.size();i++)
// {
// if((!strcmp(ele[i].fieldName(),"host_ID")) ||
// (!strcmp(ele[i].fieldName(),"heartbeat")))
// {
// continue;
// }
// else
// {
// std::string ds_name = ele[i].fieldName();
// std::string path;
// if(grid!="")
// path = grid + '/' + cluster + '/' + host_id;
// else
// path = cluster + '/' + host_id;
// mongo::BSONObj obj = ele[i].wrap();
// std::cout << obj << std::endl;
// std::list<void(*)(const char*,int,const char*)>::iterator iter;
// iter = callback_[ds_name].begin();
// for(;iter!=callback_[ds_name].end();++iter)
// {
// (*iter)(obj.objdata(),obj.objsize(),path.c_str());
// }
// }
// }
}
else
{
std::stringstream oss;
oss << "This data is illegal! Drop!!";
LOG4CXX_WARN(log_,oss.str());
}
}
示例3: fillmessage
virtual msgPtr fillmessage() {
return boost::shared_ptr<zmq::message_t>(new zmq::message_t(const_cast<char*>(_obj.objdata()), _obj.objsize(), msg_free));
}