34 #ifndef GRPCXX_SERVER_BUILDER_H
35 #define GRPCXX_SERVER_BUILDER_H
42 #include <grpc/compression.h>
46 class AsyncGenericService;
47 class CompletionQueue;
50 class ServerCompletionQueue;
51 class ServerCredentials;
77 max_message_size_ = max_message_size;
82 compression_options_ = options;
85 void SetOption(std::unique_ptr<ServerBuilderOption> option);
99 std::shared_ptr<ServerCredentials> creds,
100 int* selected_port =
nullptr);
113 std::shared_ptr<ServerCredentials> creds;
117 typedef std::unique_ptr<grpc::string> HostString;
118 struct NamedService {
119 explicit NamedService(Service* s) : service(s) {}
121 : host(new grpc::
string(h)), service(s) {}
126 int max_message_size_;
127 grpc_compression_options compression_options_;
128 std::vector<std::unique_ptr<ServerBuilderOption>> options_;
129 std::vector<std::unique_ptr<NamedService>> services_;
130 std::vector<Port> ports_;
131 std::vector<ServerCompletionQueue*> cqs_;
132 std::shared_ptr<ServerCredentials> creds_;
133 AsyncGenericService* generic_service_;
138 #endif // GRPCXX_SERVER_BUILDER_H
std::string string
Definition: config.h:112
Definition: service_type.h:63
void AddListeningPort(const grpc::string &addr, std::shared_ptr< ServerCredentials > creds, int *selected_port=nullptr)
Tries to bind server to the given addr.
void SetMaxMessageSize(int max_message_size)
Set max message size in bytes.
Definition: server_builder.h:76
Definition: async_generic_service.h:60
std::unique_ptr< Server > BuildAndStart()
Return a running server which is ready for processing calls.
std::unique_ptr< ServerCompletionQueue > AddCompletionQueue()
Add a completion queue for handling asynchronous services Caller is required to keep this completion ...
void SetOption(std::unique_ptr< ServerBuilderOption > option)
void RegisterAsyncGenericService(AsyncGenericService *service)
Register a generic service.
void SetCompressionOptions(const grpc_compression_options &options)
Set the compression options to be used by the server.
Definition: server_builder.h:81
A builder class for the creation and startup of grpc::Server instances.
Definition: server_builder.h:55
void RegisterService(Service *service)
Register a service.