std::unique_ptr RequestConverter::ToGet()

in src/hbase/client/request-converter.cc [196:222]


std::unique_ptr<hbase::pb::Get> RequestConverter::ToGet(const Get &get) {
  auto pb_get = std::make_unique<hbase::pb::Get>();
  pb_get->set_max_versions(get.MaxVersions());
  pb_get->set_cache_blocks(get.CacheBlocks());
  pb_get->set_consistency(get.Consistency());

  if (!get.Timerange().IsAllTime()) {
    hbase::pb::TimeRange *pb_time_range = pb_get->mutable_time_range();
    pb_time_range->set_from(get.Timerange().MinTimeStamp());
    pb_time_range->set_to(get.Timerange().MaxTimeStamp());
  }
  pb_get->set_row(get.row());
  if (get.HasFamilies()) {
    for (const auto &family : get.FamilyMap()) {
      auto column = pb_get->add_column();
      column->set_family(family.first);
      for (const auto &qualifier : family.second) {
        column->add_qualifier(qualifier);
      }
    }
  }

  if (get.filter() != nullptr) {
    pb_get->set_allocated_filter(Filter::ToProto(*(get.filter())).release());
  }
  return pb_get;
}