当前位置: 首页>>代码示例>>C++>>正文


C++ Stream::set_vint64方法代码示例

本文整理汇总了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;
 }
开发者ID:alimy,项目名称:tfs,代码行数:31,代码来源:block_info_message.cpp

示例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;
 }
开发者ID:alimy,项目名称:tfs,代码行数:27,代码来源:write_data_message.cpp

示例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;
 }
开发者ID:610152753,项目名称:tfs-1.4,代码行数:14,代码来源:heart_message.cpp

示例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;
}
开发者ID:alimy,项目名称:tfs,代码行数:17,代码来源:compact_block_message.cpp

示例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;
    }
开发者ID:alimy,项目名称:tfs,代码行数:45,代码来源:unlink_file_message.cpp

示例6: serialize

 int CheckBlockResponseMessage::serialize(common::Stream& output) const
 {
   return output.set_vint64(blocks_);
 }
开发者ID:alimy,项目名称:tfs,代码行数:4,代码来源:checkserver_message.cpp


注:本文中的common::Stream::set_vint64方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。