diff options
author | 2015-05-06 14:46:25 -0700 | |
---|---|---|
committer | 2015-05-07 09:14:13 -0700 | |
commit | bdb1b4863bf0d03fb08f240677a7aa3726bb3f1c (patch) | |
tree | cd358e6dae00a6ecc58b4a9af26b765ee0a4c323 /src/csharp/Grpc.Core/ServerMethods.cs | |
parent | 9b9a877eae6406867ae1f03204066639b8a73593 (diff) |
add a generic constraint for TRequest and TResponse to require a class
Diffstat (limited to 'src/csharp/Grpc.Core/ServerMethods.cs')
-rw-r--r-- | src/csharp/Grpc.Core/ServerMethods.cs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/csharp/Grpc.Core/ServerMethods.cs b/src/csharp/Grpc.Core/ServerMethods.cs index 6646bb5a89..291835671f 100644 --- a/src/csharp/Grpc.Core/ServerMethods.cs +++ b/src/csharp/Grpc.Core/ServerMethods.cs @@ -42,20 +42,28 @@ namespace Grpc.Core /// <summary> /// Server-side handler for unary call. /// </summary> - public delegate Task<TResponse> UnaryServerMethod<TRequest, TResponse>(TRequest request); + public delegate Task<TResponse> UnaryServerMethod<TRequest, TResponse>(TRequest request) + where TRequest : class + where TResponse : class; /// <summary> /// Server-side handler for client streaming call. /// </summary> - public delegate Task<TResponse> ClientStreamingServerMethod<TRequest, TResponse>(IAsyncStreamReader<TRequest> requestStream); + public delegate Task<TResponse> ClientStreamingServerMethod<TRequest, TResponse>(IAsyncStreamReader<TRequest> requestStream) + where TRequest : class + where TResponse : class; /// <summary> /// Server-side handler for server streaming call. /// </summary> - public delegate Task ServerStreamingServerMethod<TRequest, TResponse>(TRequest request, IServerStreamWriter<TResponse> responseStream); + public delegate Task ServerStreamingServerMethod<TRequest, TResponse>(TRequest request, IServerStreamWriter<TResponse> responseStream) + where TRequest : class + where TResponse : class; /// <summary> /// Server-side handler for bidi streaming call. /// </summary> - public delegate Task DuplexStreamingServerMethod<TRequest, TResponse>(IAsyncStreamReader<TRequest> requestStream, IServerStreamWriter<TResponse> responseStream); + public delegate Task DuplexStreamingServerMethod<TRequest, TResponse>(IAsyncStreamReader<TRequest> requestStream, IServerStreamWriter<TResponse> responseStream) + where TRequest : class + where TResponse : class; } |