19 #ifndef GRPCPP_SERVER_BUILDER_H 20 #define GRPCPP_SERVER_BUILDER_H 39 class AsyncGenericService;
41 class CompletionQueue;
43 class ServerCompletionQueue;
44 class ServerCredentials;
48 class ServerBuilderPluginTest;
68 virtual std::unique_ptr<Server> BuildAndStart();
92 std::shared_ptr<ServerCredentials> creds,
93 int* selected_port =
nullptr);
125 std::unique_ptr<ServerCompletionQueue> AddCompletionQueue(
126 bool is_frequently_polled =
true);
148 max_receive_message_size_ = max_receive_message_size;
154 max_send_message_size_ = max_send_message_size;
160 return SetMaxReceiveMessageSize(max_message_size);
184 ServerBuilder& SetOption(std::unique_ptr<ServerBuilderOption> option);
205 static void InternalAddPluginFactory(
206 std::unique_ptr<ServerBuilderPlugin> (*CreatePlugin)());
217 std::shared_ptr<ServerCredentials>
creds;
232 std::vector<Port>
ports() {
return ports_; }
236 std::vector<NamedService*> service_refs;
237 for (
auto& ptr : services_) {
238 service_refs.push_back(ptr.get());
245 std::vector<ServerBuilderOption*> option_refs;
246 for (
auto& ptr : options_) {
247 option_refs.push_back(ptr.get());
253 friend class ::grpc::testing::ServerBuilderPluginTest;
255 struct SyncServerSettings {
257 : num_cqs(1), min_pollers(1), max_pollers(2), cq_timeout_msec(10000) {}
274 int max_receive_message_size_;
275 int max_send_message_size_;
276 std::vector<std::unique_ptr<ServerBuilderOption>> options_;
277 std::vector<std::unique_ptr<NamedService>> services_;
278 std::vector<Port> ports_;
280 SyncServerSettings sync_server_settings_;
283 std::vector<ServerCompletionQueue*> cqs_;
285 std::shared_ptr<ServerCredentials> creds_;
286 std::vector<std::unique_ptr<ServerBuilderPlugin>> plugins_;
292 } maybe_default_compression_level_;
296 } maybe_default_compression_algorithm_;
297 uint32_t enabled_compression_algorithms_bitset_;
302 #endif // GRPCPP_SERVER_BUILDER_H ServerBuilder & SetMaxMessageSize(int max_message_size)
Definition: server_builder.h:159
int * selected_port
Definition: server_builder.h:218
std::vector< NamedService * > services()
Experimental, to be deprecated.
Definition: server_builder.h:235
Maximum number of polling threads.
Definition: server_builder.h:190
std::string string
Definition: config.h:35
std::shared_ptr< ServerCredentials > creds
Definition: server_builder.h:217
std::unique_ptr< grpc::string > HostString
Experimental, to be deprecated.
Definition: server_builder.h:222
std::unique_ptr< ServerBuilderOption > MakeChannelArgumentOption(const grpc::string &name, const grpc::string &value)
Experimental, to be deprecated.
Definition: server_builder.h:215
Desriptor of an RPC service and its various RPC methods.
Definition: service_type.h:58
ResourceQuota represents a bound on memory usage by the gRPC library.
Definition: resource_quota.h:34
bool is_set
Definition: server_builder.h:290
grpc_compression_level
Compression levels allow a party with knowledge of its peer's accepted encodings to request compressi...
Definition: compression_types.h:70
Definition: async_generic_service.h:62
HostString host
Definition: server_builder.h:227
ServerBuilder & SetMaxSendMessageSize(int max_send_message_size)
Set max send message size in bytes.
Definition: server_builder.h:153
Number of completion queues.
Definition: server_builder.h:188
std::vector< Port > ports()
Experimental, to be deprecated.
Definition: server_builder.h:232
grpc_compression_algorithm
The various compression algorithms supported by gRPC.
Definition: compression_types.h:56
An Alarm posts the user provided tag to its associated completion queue upon expiry or cancellation...
Definition: alarm.h:31
grpc_workaround_list
Definition: workaround_list.h:26
NamedService(Service *s)
Definition: server_builder.h:224
ServerBuilder & SetMaxReceiveMessageSize(int max_receive_message_size)
Set max receive message size in bytes.
Definition: server_builder.h:147
grpc_compression_level level
Definition: server_builder.h:291
SyncServerOption
Options for synchronous servers.
Definition: server_builder.h:187
grpc::string addr
Definition: server_builder.h:216
struct grpc_resource_quota grpc_resource_quota
Definition: grpc_types.h:614
Definition: server_builder.h:223
NamedService(const grpc::string &h, Service *s)
Definition: server_builder.h:225
Minimum number of polling threads.
Definition: server_builder.h:189
Service * service
Definition: server_builder.h:228
ServerBuilder & AddChannelArgument(const grpc::string &arg, const T &value)
Add a channel argument (an escape hatch to tuning core library parameters directly) ...
Definition: server_builder.h:200
std::vector< ServerBuilderOption * > options()
Experimental, to be deprecated.
Definition: server_builder.h:244
A builder class for the creation and startup of grpc::Server instances.
Definition: server_builder.h:52
grpc_compression_algorithm algorithm
Definition: server_builder.h:295