diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/grpc/impl/codegen/grpc_types.h | 4 | ||||
-rw-r--r-- | include/grpcpp/ext/server_load_reporting.h | 53 | ||||
-rw-r--r-- | include/grpcpp/impl/codegen/server_context.h | 2 |
3 files changed, 56 insertions, 3 deletions
diff --git a/include/grpc/impl/codegen/grpc_types.h b/include/grpc/impl/codegen/grpc_types.h index c32e99ed4c..5fd080c48b 100644 --- a/include/grpc/impl/codegen/grpc_types.h +++ b/include/grpc/impl/codegen/grpc_types.h @@ -196,8 +196,8 @@ typedef struct { data frame, Int valued, milliseconds. */ #define GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS \ "grpc.http2.min_time_between_pings_ms" -/** Minimum allowed time between receiving successive ping frames without - sending any data frame. Int valued, milliseconds */ +/** Minimum allowed time between a server receiving successive ping frames + without sending any data frame. Int valued, milliseconds */ #define GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS \ "grpc.http2.min_ping_interval_without_data_ms" /** Channel arg to override the http2 :scheme header */ diff --git a/include/grpcpp/ext/server_load_reporting.h b/include/grpcpp/ext/server_load_reporting.h new file mode 100644 index 0000000000..939569c19a --- /dev/null +++ b/include/grpcpp/ext/server_load_reporting.h @@ -0,0 +1,53 @@ +/* + * + * 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_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> + +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; +}; + +// 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 + +#endif // GRPCPP_EXT_SERVER_LOAD_REPORTING_H diff --git a/include/grpcpp/impl/codegen/server_context.h b/include/grpcpp/impl/codegen/server_context.h index bced4202dd..153b404d9e 100644 --- a/include/grpcpp/impl/codegen/server_context.h +++ b/include/grpcpp/impl/codegen/server_context.h @@ -201,7 +201,7 @@ class ServerContext { /// \param algorithm The compression algorithm used for the server call. void set_compression_algorithm(grpc_compression_algorithm algorithm); - /// Set the load reporting costs in \a cost_data for the call. + /// Set the serialized load reporting costs in \a cost_data for the call. void SetLoadReportingCosts(const std::vector<grpc::string>& cost_data); /// Return the authentication context for this server call. |