Merge pull request #18419 from grpc/grpc_namespace_server_load_reporting

Move LoadReportingServiceServerBuilderOption from grpc to grpc_impl
pull/18641/head
Karthik Ravi Shankar 6 years ago committed by GitHub
commit 99b3016336
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      BUILD
  2. 30
      include/grpcpp/ext/server_load_reporting.h
  3. 54
      include/grpcpp/ext/server_load_reporting_impl.h
  4. 7
      src/cpp/server/load_reporter/load_reporting_service_server_builder_option.cc
  5. 4
      src/cpp/server/load_reporter/util.cc

@ -1469,6 +1469,7 @@ grpc_cc_library(
language = "c++",
public_hdrs = [
"include/grpcpp/ext/server_load_reporting.h",
"include/grpcpp/ext/server_load_reporting_impl.h",
],
deps = [
"lb_server_load_reporting_filter",

@ -19,32 +19,22 @@
#ifndef GRPCPP_EXT_SERVER_LOAD_REPORTING_H
#define GRPCPP_EXT_SERVER_LOAD_REPORTING_H
#include <grpc/support/port_platform.h>
#include <grpc/load_reporting.h>
#include <grpcpp/impl/codegen/config.h>
#include <grpcpp/impl/codegen/server_context.h>
#include <grpcpp/impl/server_builder_option.h>
#include <grpcpp/ext/server_load_reporting_impl.h>
namespace grpc {
namespace load_reporter {
namespace experimental {
// The ServerBuilderOption to enable server-side load reporting feature. To
// enable the feature, please make sure the binary builds with the
// grpcpp_server_load_reporting library and set this option in the
// ServerBuilder.
class LoadReportingServiceServerBuilderOption : public ServerBuilderOption {
public:
void UpdateArguments(::grpc::ChannelArguments* args) override;
void UpdatePlugins(std::vector<std::unique_ptr<::grpc::ServerBuilderPlugin>>*
plugins) override;
};
typedef ::grpc_impl::load_reporter::experimental::
LoadReportingServiceServerBuilderOption
LoadReportingServiceServerBuilderOption;
// Adds the load reporting cost with \a cost_name and \a cost_value in the
// trailing metadata of the server context.
void AddLoadReportingCost(grpc::ServerContext* ctx,
const grpc::string& cost_name, double cost_value);
static inline void AddLoadReportingCost(grpc::ServerContext* ctx,
const grpc::string& cost_name,
double cost_value) {
::grpc_impl::load_reporter::experimental::AddLoadReportingCost(ctx, cost_name,
cost_value);
}
} // namespace experimental
} // namespace load_reporter

@ -0,0 +1,54 @@
/*
*
* Copyright 2018 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#ifndef GRPCPP_EXT_SERVER_LOAD_REPORTING_IMPL_H
#define GRPCPP_EXT_SERVER_LOAD_REPORTING_IMPL_H
#include <grpc/support/port_platform.h>
#include <grpc/load_reporting.h>
#include <grpcpp/impl/codegen/config.h>
#include <grpcpp/impl/codegen/server_context.h>
#include <grpcpp/impl/server_builder_option.h>
namespace grpc_impl {
namespace load_reporter {
namespace experimental {
// The ServerBuilderOption to enable server-side load reporting feature. To
// enable the feature, please make sure the binary builds with the
// grpcpp_server_load_reporting library and set this option in the
// ServerBuilder.
class LoadReportingServiceServerBuilderOption
: public grpc::ServerBuilderOption {
public:
void UpdateArguments(::grpc::ChannelArguments* args) override;
void UpdatePlugins(std::vector<std::unique_ptr<::grpc::ServerBuilderPlugin>>*
plugins) override;
};
// Adds the load reporting cost with \a cost_name and \a cost_value in the
// trailing metadata of the server context.
void AddLoadReportingCost(grpc::ServerContext* ctx,
const grpc::string& cost_name, double cost_value);
} // namespace experimental
} // namespace load_reporter
} // namespace grpc_impl
#endif // GRPCPP_EXT_SERVER_LOAD_REPORTING_IMPL_H

@ -22,7 +22,7 @@
#include "src/cpp/server/load_reporter/load_reporting_service_server_builder_plugin.h"
namespace grpc {
namespace grpc_impl {
namespace load_reporter {
namespace experimental {
@ -33,9 +33,10 @@ void LoadReportingServiceServerBuilderOption::UpdateArguments(
void LoadReportingServiceServerBuilderOption::UpdatePlugins(
std::vector<std::unique_ptr<::grpc::ServerBuilderPlugin>>* plugins) {
plugins->emplace_back(new LoadReportingServiceServerBuilderPlugin());
plugins->emplace_back(
new grpc::load_reporter::LoadReportingServiceServerBuilderPlugin());
}
} // namespace experimental
} // namespace load_reporter
} // namespace grpc
} // namespace grpc_impl

@ -24,7 +24,7 @@
#include <grpc/support/log.h>
namespace grpc {
namespace grpc_impl {
namespace load_reporter {
namespace experimental {
@ -44,4 +44,4 @@ void AddLoadReportingCost(grpc::ServerContext* ctx,
} // namespace experimental
} // namespace load_reporter
} // namespace grpc
} // namespace grpc_impl

Loading…
Cancel
Save