Add an optional server shutdown event.
Allows servers to expedite shutdown once all in-progress calls are
completed. We may want to eventually remove grpc_server_shutdown in
preference to this.
diff --git a/include/grpc/grpc.h b/include/grpc/grpc.h
index 40a3d2a..3c5b0de 100644
--- a/include/grpc/grpc.h
+++ b/include/grpc/grpc.h
@@ -194,6 +194,7 @@
GRPC_FINISHED, /* An RPC has finished. The event contains status.
On the server this will be OK or Cancelled. */
GRPC_SERVER_RPC_NEW, /* A new RPC has arrived at the server */
+ GRPC_SERVER_SHUTDOWN, /* The server has finished shutting down */
GRPC_COMPLETION_DO_NOT_USE /* must be last, forces users to include
a default: case */
} grpc_completion_type;
@@ -439,6 +440,10 @@
Existing calls will be allowed to complete. */
void grpc_server_shutdown(grpc_server *server);
+/* As per grpc_server_shutdown, but send a GRPC_SERVER_SHUTDOWN event when
+ there are no more calls being serviced. */
+void grpc_server_shutdown_and_notify(grpc_server *server, void *tag);
+
/* Destroy a server.
Forcefully cancels all existing calls. */
void grpc_server_destroy(grpc_server *server);