diff options
Diffstat (limited to 'src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs')
-rw-r--r-- | src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs b/src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs index 7a1c016ae2..c44ee87bad 100644 --- a/src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs +++ b/src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs @@ -60,10 +60,10 @@ namespace Grpc.Core.Internal static extern void grpcsharp_server_start(ServerSafeHandle server); [DllImport("grpc_csharp_ext.dll")] - static extern void grpcsharp_server_shutdown(ServerSafeHandle server); + static extern void grpcsharp_server_shutdown_and_notify_callback(ServerSafeHandle server, CompletionQueueSafeHandle cq, [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback); [DllImport("grpc_csharp_ext.dll")] - static extern void grpcsharp_server_shutdown_and_notify_callback(ServerSafeHandle server, [MarshalAs(UnmanagedType.FunctionPtr)] CompletionCallbackDelegate callback); + static extern void grpcsharp_server_cancel_all_calls(ServerSafeHandle server); [DllImport("grpc_csharp_ext.dll")] static extern void grpcsharp_server_destroy(IntPtr server); @@ -92,14 +92,9 @@ namespace Grpc.Core.Internal grpcsharp_server_start(this); } - public void Shutdown() + public void ShutdownAndNotify(CompletionQueueSafeHandle cq, CompletionCallbackDelegate callback) { - grpcsharp_server_shutdown(this); - } - - public void ShutdownAndNotify(CompletionCallbackDelegate callback) - { - grpcsharp_server_shutdown_and_notify_callback(this, callback); + grpcsharp_server_shutdown_and_notify_callback(this, cq, callback); } public void RequestCall(CompletionQueueSafeHandle cq, CompletionCallbackDelegate callback) @@ -112,6 +107,12 @@ namespace Grpc.Core.Internal grpcsharp_server_destroy(handle); return true; } + + // Only to be called after ShutdownAndNotify. + public void CancelAllCalls() + { + grpcsharp_server_cancel_all_calls(this); + } private static void AssertCallOk(GRPCCallError callError) { |