diff options
author | 2016-03-22 16:08:18 -0700 | |
---|---|---|
committer | 2016-04-01 16:25:43 -0700 | |
commit | b455bcc30101e41625753888626b17a5e48f6cdc (patch) | |
tree | beebb6b771d7a30079f86024ea590c5dd43b8eba /src/csharp/Grpc.Core | |
parent | 809148d6c5702a6a5a35d175ccb39c447acf9204 (diff) |
add host field support to CallInvoker
Diffstat (limited to 'src/csharp/Grpc.Core')
-rw-r--r-- | src/csharp/Grpc.Core/CallInvoker.cs | 10 | ||||
-rw-r--r-- | src/csharp/Grpc.Core/ClientBase.cs | 10 | ||||
-rw-r--r-- | src/csharp/Grpc.Core/DefaultCallInvoker.cs | 29 |
3 files changed, 22 insertions, 27 deletions
diff --git a/src/csharp/Grpc.Core/CallInvoker.cs b/src/csharp/Grpc.Core/CallInvoker.cs index e8e43968f8..cec5255692 100644 --- a/src/csharp/Grpc.Core/CallInvoker.cs +++ b/src/csharp/Grpc.Core/CallInvoker.cs @@ -45,14 +45,14 @@ namespace Grpc.Core /// <summary> /// Invokes a simple remote call in a blocking fashion. /// </summary> - public abstract TResponse BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, CallOptions options, TRequest request) + public abstract TResponse BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) where TRequest : class where TResponse : class; /// <summary> /// Invokes a simple remote call asynchronously. /// </summary> - public abstract AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, CallOptions options, TRequest request) + public abstract AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) where TRequest : class where TResponse : class; @@ -60,7 +60,7 @@ namespace Grpc.Core /// Invokes a server streaming call asynchronously. /// In server streaming scenario, client sends on request and server responds with a stream of responses. /// </summary> - public abstract AsyncServerStreamingCall<TResponse> AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, CallOptions options, TRequest request) + public abstract AsyncServerStreamingCall<TResponse> AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) where TRequest : class where TResponse : class; @@ -68,7 +68,7 @@ namespace Grpc.Core /// Invokes a client streaming call asynchronously. /// In client streaming scenario, client sends a stream of requests and server responds with a single response. /// </summary> - public abstract AsyncClientStreamingCall<TRequest, TResponse> AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, CallOptions options) + public abstract AsyncClientStreamingCall<TRequest, TResponse> AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) where TRequest : class where TResponse : class; @@ -77,7 +77,7 @@ namespace Grpc.Core /// In duplex streaming scenario, client sends a stream of requests and server responds with a stream of responses. /// The response stream is completely independent and both side can be sending messages at the same time. /// </summary> - public abstract AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, CallOptions options) + public abstract AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) where TRequest : class where TResponse : class; } diff --git a/src/csharp/Grpc.Core/ClientBase.cs b/src/csharp/Grpc.Core/ClientBase.cs index f5d6ae744f..9f3c4a5327 100644 --- a/src/csharp/Grpc.Core/ClientBase.cs +++ b/src/csharp/Grpc.Core/ClientBase.cs @@ -124,11 +124,11 @@ namespace Grpc.Core /// By default, this will be set to <c>null</c> with the meaning /// "use default host". /// </summary> - public string Host - { - get; - set; - } + //public string Host + //{ + // get; + // set; + //} /// <summary> /// Creates a new call to given method. diff --git a/src/csharp/Grpc.Core/DefaultCallInvoker.cs b/src/csharp/Grpc.Core/DefaultCallInvoker.cs index 8b77651c0c..5329478a15 100644 --- a/src/csharp/Grpc.Core/DefaultCallInvoker.cs +++ b/src/csharp/Grpc.Core/DefaultCallInvoker.cs @@ -56,18 +56,18 @@ namespace Grpc.Core /// <summary> /// Invokes a simple remote call in a blocking fashion. /// </summary> - public override TResponse BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, CallOptions options, TRequest request) + public override TResponse BlockingUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) { - var call = CreateCall(method, options); + var call = CreateCall(method, host, options); return Calls.BlockingUnaryCall(call, request); } /// <summary> /// Invokes a simple remote call asynchronously. /// </summary> - public override AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, CallOptions options, TRequest request) + public override AsyncUnaryCall<TResponse> AsyncUnaryCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) { - var call = CreateCall(method, options); + var call = CreateCall(method, host, options); return Calls.AsyncUnaryCall(call, request); } @@ -75,9 +75,9 @@ namespace Grpc.Core /// Invokes a server streaming call asynchronously. /// In server streaming scenario, client sends on request and server responds with a stream of responses. /// </summary> - public override AsyncServerStreamingCall<TResponse> AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, CallOptions options, TRequest request) + public override AsyncServerStreamingCall<TResponse> AsyncServerStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options, TRequest request) { - var call = CreateCall(method, options); + var call = CreateCall(method, host, options); return Calls.AsyncServerStreamingCall(call, request); } @@ -85,9 +85,9 @@ namespace Grpc.Core /// Invokes a client streaming call asynchronously. /// In client streaming scenario, client sends a stream of requests and server responds with a single response. /// </summary> - public override AsyncClientStreamingCall<TRequest, TResponse> AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, CallOptions options) + public override AsyncClientStreamingCall<TRequest, TResponse> AsyncClientStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) { - var call = CreateCall(method, options); + var call = CreateCall(method, host, options); return Calls.AsyncClientStreamingCall(call); } @@ -96,22 +96,17 @@ namespace Grpc.Core /// In duplex streaming scenario, client sends a stream of requests and server responds with a stream of responses. /// The response stream is completely independent and both side can be sending messages at the same time. /// </summary> - public override AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, CallOptions options) + public override AsyncDuplexStreamingCall<TRequest, TResponse> AsyncDuplexStreamingCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) { - var call = CreateCall(method, options); + var call = CreateCall(method, host, options); return Calls.AsyncDuplexStreamingCall(call); } - protected virtual string Host - { - get { return null; } - } - - protected virtual CallInvocationDetails<TRequest, TResponse> CreateCall<TRequest, TResponse>(Method<TRequest, TResponse> method, CallOptions options) + protected virtual CallInvocationDetails<TRequest, TResponse> CreateCall<TRequest, TResponse>(Method<TRequest, TResponse> method, string host, CallOptions options) where TRequest : class where TResponse : class { - return new CallInvocationDetails<TRequest, TResponse>(channel, method, Host, options); + return new CallInvocationDetails<TRequest, TResponse>(channel, method, host, options); } } } |