aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/csharp/Grpc.Core/ServerMethods.cs
diff options
context:
space:
mode:
authorGravatar Jan Tattermusch <jtattermusch@google.com>2015-05-06 14:46:25 -0700
committerGravatar Jan Tattermusch <jtattermusch@google.com>2015-05-07 09:14:13 -0700
commitbdb1b4863bf0d03fb08f240677a7aa3726bb3f1c (patch)
treecd358e6dae00a6ecc58b4a9af26b765ee0a4c323 /src/csharp/Grpc.Core/ServerMethods.cs
parent9b9a877eae6406867ae1f03204066639b8a73593 (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.cs16
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;
}