34 #ifndef GRPCXX_SERVER_H
35 #define GRPCXX_SERVER_H
37 #include <condition_variable>
58 class AsyncGenericService;
59 class HealthCheckServiceInterface;
61 class ServerInitializer;
104 return health_check_service_.get();
114 class ShutdownRequest;
120 class SyncRequestThreadManager;
122 class UnimplementedAsyncRequestContext;
123 class UnimplementedAsyncRequest;
124 class UnimplementedAsyncResponse;
148 std::shared_ptr<std::vector<std::unique_ptr<ServerCompletionQueue>>>
150 int min_pollers,
int max_pollers,
int sync_cq_timeout_msec);
188 int max_receive_message_size()
const override {
189 return max_receive_message_size_;
192 grpc_server* server()
override {
return server_; };
196 const int max_receive_message_size_;
201 std::shared_ptr<std::vector<std::unique_ptr<ServerCompletionQueue>>>
205 std::vector<std::unique_ptr<SyncRequestThreadManager>> sync_req_mgrs_;
211 bool shutdown_notified_;
213 std::condition_variable shutdown_cv_;
215 std::shared_ptr<GlobalCallbacks> global_callbacks_;
217 std::vector<grpc::string> services_;
218 bool has_generic_service_;
223 std::unique_ptr<ServerInitializer> server_initializer_;
225 std::unique_ptr<HealthCheckServiceInterface> health_check_service_;
226 bool health_check_service_disabled_;
231 #endif // GRPCXX_SERVER_H
std::string string
Definition: config.h:50
friend class ServerInitializer
Definition: server.h:110
An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...
Definition: call.h:598
void Wait() override
Block waiting for all work to complete.
Options for channel creation.
Definition: channel_arguments.h:54
Definition: service_type.h:64
Definition: server_initializer.h:47
struct grpc_server grpc_server
A server listens to some port and responds to request calls.
Definition: grpc_types.h:80
virtual ~GlobalCallbacks()
Definition: server.h:82
Definition: async_generic_service.h:60
static void SetGlobalCallbacks(GlobalCallbacks *callbacks)
Set the global callback object.
Classes that require gRPC to be initialized should inherit from this class.
Definition: grpc_library.h:52
Definition: health_check_service_interface.h:46
virtual void PreSynchronousRequest(ServerContext *context)=0
Called before application callback for each synchronous server request.
virtual void PreServerStart(Server *server)
Called before server is started.
Definition: server.h:90
Definition: server_credentials.h:50
Models a gRPC server.
Definition: server.h:66
virtual void AddPort(Server *server, int port)
Called after a server port is added.
Definition: server.h:92
Definition: server_context.h:94
Models a gRPC server.
Definition: server_interface.h:60
Global Callbacks.
Definition: server.h:80
Definition: gpr_types.h:63
virtual void UpdateArguments(ChannelArguments *args)
Called before server is created.
Definition: server.h:84
A specific type of completion queue used by the processing of notifications by servers.
Definition: completion_queue.h:258
virtual void PostSynchronousRequest(ServerContext *context)=0
Called after application callback for each synchronous server request.
HealthCheckServiceInterface * GetHealthCheckService() const
Returns the health check service.
Definition: server.h:103
A builder class for the creation and startup of grpc::Server instances.
Definition: server_builder.h:68