std::unique_ptr RpcSerde::CreateVersionInfo()

in src/hbase/serde/rpc-serde.cc [131:151]


std::unique_ptr<pb::VersionInfo> RpcSerde::CreateVersionInfo() {
  std::unique_ptr<pb::VersionInfo> version_info = std::make_unique<pb::VersionInfo>();
  version_info->set_user(Version::user);
  version_info->set_revision(Version::revision);
  version_info->set_url(Version::url);
  version_info->set_date(Version::date);
  version_info->set_src_checksum(Version::src_checksum);
  version_info->set_version(Version::version);

  std::string version{Version::version};
  std::vector<std::string> version_parts;
  boost::split(version_parts, version, boost::is_any_of("."), boost::token_compress_on);
  uint32_t major_version = 0, minor_version = 0;
  if (version_parts.size() >= 2) {
    version_info->set_version_major(folly::to<uint32_t>(version_parts[0]));
    version_info->set_version_minor(folly::to<uint32_t>(version_parts[1]));
  }

  VLOG(1) << "Client VersionInfo:" << version_info->ShortDebugString();
  return version_info;
}