本文整理汇总了C++中common::Stream::set_vint64方法的典型用法代码示例。如果您正苦于以下问题:C++ Stream::set_vint64方法的具体用法?C++ Stream::set_vint64怎么用?C++ Stream::set_vint64使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common::Stream
的用法示例。
在下文中一共展示了Stream::set_vint64方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: serialize
int BatchSetBlockInfoMessage::serialize(common::Stream& output) const
{
int32_t iret = output.set_int32(block_infos_.size());
if (common::TFS_SUCCESS == iret)
{
std::map<uint32_t, common::BlockInfoSeg>::const_iterator it = block_infos_.begin();
common::BlockInfoSeg* block_info = NULL;
for (; it != block_infos_.end(); it++)
{
block_info = const_cast< common::BlockInfoSeg*>(&it->second);
if (block_info->has_lease()
&& !block_info->ds_.empty())
{
block_info->ds_.push_back(ULONG_LONG_MAX);
block_info->ds_.push_back(static_cast<uint64_t> (block_info->version_));
block_info->ds_.push_back(static_cast<uint64_t> (block_info->lease_id_));
}
//block id
iret = output.set_int32(it->first);
if (common::TFS_SUCCESS != iret)
break;
// dataserver list
iret = output.set_vint64(block_info->ds_);
if (common::TFS_SUCCESS != iret)
break;
// reparse, avoid push verion&lease again when clone twice;
common::BasePacket::parse_special_ds(block_info->ds_, block_info->version_, block_info->lease_id_);
}
}
return iret;
}
示例2: serialize
int WriteDataMessage::serialize(common::Stream& output) const
{
if (has_lease())
{
ds_.push_back(ULONG_LONG_MAX);
ds_.push_back(static_cast<uint64_t>(version_));
ds_.push_back(static_cast<uint64_t>(lease_id_));
}
int64_t pos = 0;
int32_t iret = write_data_info_.serialize(output.get_free(), output.get_free_length(), pos);
if (common::TFS_SUCCESS == iret)
{
output.pour(write_data_info_.length());
iret = output.set_vint64(ds_);
}
if (common::TFS_SUCCESS == iret
&& write_data_info_.length_ > 0)
{
iret = output.set_bytes(data_, write_data_info_.length_);
}
// reparse, avoid push verion&lease again when clone twice;
if (common::TFS_SUCCESS == iret)
{
parse_special_ds(ds_, version_, lease_id_);
}
return iret;
}
示例3: serialize
int MasterAndSlaveHeartResponseMessage::serialize(common::Stream& output) const
{
int64_t pos = 0;
int32_t iret = ns_identity_.serialize(output.get_free(), output.get_free_length(), pos);
if (common::TFS_SUCCESS == iret)
{
output.pour(ns_identity_.length());
if (ns_identity_.flags_ == HEART_GET_DATASERVER_LIST_FLAGS_YES)
{
iret = output.set_vint64(ds_list_);
}
}
return iret;
}
示例4: serialize
int NsRequestCompactBlockMessage::serialize(common::Stream& output) const
{
int32_t ret = output.set_int32(block_id_);
if (common::TFS_SUCCESS == ret)
{
ret = output.set_vint64(servers_);
}
if (common::TFS_SUCCESS == ret)
{
ret = output.set_int64(seqno_);
}
if (common::TFS_SUCCESS == ret)
{
ret = output.set_int32(expire_time_);
}
return ret;
}
示例5: serialize
int UnlinkFileMessage::serialize(common::Stream& output) const
{
if (has_lease())
{
dataservers_.push_back(ULONG_LONG_MAX);
dataservers_.push_back(static_cast<uint64_t> (version_));
dataservers_.push_back(static_cast<uint64_t> (lease_id_));
}
int64_t pos = 0;
int32_t ret = unlink_file_info_.serialize(output.get_free(), output.get_free_length(), pos);
if (common::TFS_SUCCESS == ret)
{
output.pour(unlink_file_info_.length());
}
if (common::TFS_SUCCESS == ret)
{
ret = output.set_vint64(dataservers_);
}
if (common::TFS_SUCCESS == ret)
{
ret = output.set_int32(option_flag_);
}
if (common::TFS_SUCCESS == ret)
{
BasePacket::parse_special_ds(dataservers_, version_, lease_id_);
}
if (common::TFS_SUCCESS == ret)
{
ret = output.set_int64(lease_id_ext_);
}
if (common::TFS_SUCCESS == ret)
{
if (common::INVALID_FAMILY_ID != family_info_.family_id_)
{
int64_t pos = 0;
ret = family_info_.serialize(output.get_free(), output.get_free_length(), pos);
if (common::TFS_SUCCESS == ret)
{
output.pour(family_info_.length());
}
}
}
return ret;
}
示例6: serialize
int CheckBlockResponseMessage::serialize(common::Stream& output) const
{
return output.set_vint64(blocks_);
}