int run_mtest()

in e2e-examples/gcs/benchmark/grpc_xtra.cc [72:107]


int run_mtest(std::function<std::shared_ptr<grpc::Channel>()> channel_creator,
              const Parameters& parameters) {
  auto channel = channel_creator();
  auto stub = google::storage::v2::Storage::NewStub(channel);

  google::storage::v2::GetObjectRequest request;
  request.set_bucket(absl::StrCat("projects/_/buckets/", parameters.bucket));
  request.set_object(parameters.object);

  grpc::ClientContext context;
  google::storage::v2::Object reply;
  grpc::Status status = stub->GetObject(&context, request, &reply);

  if (status.ok()) {
    std::cerr << "Status: OK" << std::endl;
  } else {
    std::cerr << "Status:" << std::endl;
    std::cerr << "- Code:    " << status.error_code() << std::endl;
    std::cerr << "- Message: " << status.error_message() << std::endl;
    std::cerr << "- Details: " << status.error_details() << std::endl;
  }

  std::cerr << "ServerInitialMetadata:" << std::endl;
  auto imd = context.GetServerInitialMetadata();
  for (auto v : imd) {
    std::cerr << "- " << v.first << " = " << v.second << std::endl;
  }

  std::cerr << "ServerTrailingMetadata:" << std::endl;
  auto tmd = context.GetServerTrailingMetadata();
  for (auto v : tmd) {
    std::cerr << "- " << v.first << " = " << v.second << std::endl;
  }

  return 0;
}