|  | @@ -56,17 +56,17 @@ namespace grpc.testing {
 | 
	
		
			
				|  |  |          __Marshaller_StreamingOutputCallRequest,
 | 
	
		
			
				|  |  |          __Marshaller_StreamingOutputCallResponse);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    // client-side stub interface
 | 
	
		
			
				|  |  | +    // client interface
 | 
	
		
			
				|  |  |      public interface ITestServiceClient
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -      global::grpc.testing.Empty EmptyCall(global::grpc.testing.Empty request, CancellationToken token = default(CancellationToken));
 | 
	
		
			
				|  |  | -      Task<global::grpc.testing.Empty> EmptyCallAsync(global::grpc.testing.Empty request, CancellationToken token = default(CancellationToken));
 | 
	
		
			
				|  |  | -      global::grpc.testing.SimpleResponse UnaryCall(global::grpc.testing.SimpleRequest request, CancellationToken token = default(CancellationToken));
 | 
	
		
			
				|  |  | -      Task<global::grpc.testing.SimpleResponse> UnaryCallAsync(global::grpc.testing.SimpleRequest request, CancellationToken token = default(CancellationToken));
 | 
	
		
			
				|  |  | -      AsyncServerStreamingCall<global::grpc.testing.StreamingOutputCallResponse> StreamingOutputCall(global::grpc.testing.StreamingOutputCallRequest request, CancellationToken token = default(CancellationToken));
 | 
	
		
			
				|  |  | -      AsyncClientStreamingCall<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallResponse> StreamingInputCall(CancellationToken token = default(CancellationToken));
 | 
	
		
			
				|  |  | -      AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> FullDuplexCall(CancellationToken token = default(CancellationToken));
 | 
	
		
			
				|  |  | -      AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> HalfDuplexCall(CancellationToken token = default(CancellationToken));
 | 
	
		
			
				|  |  | +      global::grpc.testing.Empty EmptyCall(global::grpc.testing.Empty request, Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken));
 | 
	
		
			
				|  |  | +      Task<global::grpc.testing.Empty> EmptyCallAsync(global::grpc.testing.Empty request, Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken));
 | 
	
		
			
				|  |  | +      global::grpc.testing.SimpleResponse UnaryCall(global::grpc.testing.SimpleRequest request, Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken));
 | 
	
		
			
				|  |  | +      Task<global::grpc.testing.SimpleResponse> UnaryCallAsync(global::grpc.testing.SimpleRequest request, Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken));
 | 
	
		
			
				|  |  | +      AsyncServerStreamingCall<global::grpc.testing.StreamingOutputCallResponse> StreamingOutputCall(global::grpc.testing.StreamingOutputCallRequest request, Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken));
 | 
	
		
			
				|  |  | +      AsyncClientStreamingCall<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallResponse> StreamingInputCall(Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken));
 | 
	
		
			
				|  |  | +      AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> FullDuplexCall(Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken));
 | 
	
		
			
				|  |  | +      AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> HalfDuplexCall(Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken));
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // server-side interface
 | 
	
	
		
			
				|  | @@ -81,53 +81,50 @@ namespace grpc.testing {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      // client stub
 | 
	
		
			
				|  |  | -    public class TestServiceClient : AbstractStub<TestServiceClient, StubConfiguration>, ITestServiceClient
 | 
	
		
			
				|  |  | +    public class TestServiceClient : ClientBase, ITestServiceClient
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -      public TestServiceClient(Channel channel) : this(channel, StubConfiguration.Default)
 | 
	
		
			
				|  |  | +      public TestServiceClient(Channel channel) : base(channel)
 | 
	
		
			
				|  |  |        {
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public TestServiceClient(Channel channel, StubConfiguration config) : base(channel, config)
 | 
	
		
			
				|  |  | +      public global::grpc.testing.Empty EmptyCall(global::grpc.testing.Empty request, Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken))
 | 
	
		
			
				|  |  |        {
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_EmptyCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.BlockingUnaryCall(call, request, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public global::grpc.testing.Empty EmptyCall(global::grpc.testing.Empty request, CancellationToken token = default(CancellationToken))
 | 
	
		
			
				|  |  | +      public Task<global::grpc.testing.Empty> EmptyCallAsync(global::grpc.testing.Empty request, Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken))
 | 
	
		
			
				|  |  |        {
 | 
	
		
			
				|  |  | -        var call = CreateCall(__ServiceName, __Method_EmptyCall);
 | 
	
		
			
				|  |  | -        return Calls.BlockingUnaryCall(call, request, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_EmptyCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.AsyncUnaryCall(call, request, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public Task<global::grpc.testing.Empty> EmptyCallAsync(global::grpc.testing.Empty request, CancellationToken token = default(CancellationToken))
 | 
	
		
			
				|  |  | +      public global::grpc.testing.SimpleResponse UnaryCall(global::grpc.testing.SimpleRequest request, Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken))
 | 
	
		
			
				|  |  |        {
 | 
	
		
			
				|  |  | -        var call = CreateCall(__ServiceName, __Method_EmptyCall);
 | 
	
		
			
				|  |  | -        return Calls.AsyncUnaryCall(call, request, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_UnaryCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.BlockingUnaryCall(call, request, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public global::grpc.testing.SimpleResponse UnaryCall(global::grpc.testing.SimpleRequest request, CancellationToken token = default(CancellationToken))
 | 
	
		
			
				|  |  | +      public Task<global::grpc.testing.SimpleResponse> UnaryCallAsync(global::grpc.testing.SimpleRequest request, Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken))
 | 
	
		
			
				|  |  |        {
 | 
	
		
			
				|  |  | -        var call = CreateCall(__ServiceName, __Method_UnaryCall);
 | 
	
		
			
				|  |  | -        return Calls.BlockingUnaryCall(call, request, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_UnaryCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.AsyncUnaryCall(call, request, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public Task<global::grpc.testing.SimpleResponse> UnaryCallAsync(global::grpc.testing.SimpleRequest request, CancellationToken token = default(CancellationToken))
 | 
	
		
			
				|  |  | +      public AsyncServerStreamingCall<global::grpc.testing.StreamingOutputCallResponse> StreamingOutputCall(global::grpc.testing.StreamingOutputCallRequest request, Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken))
 | 
	
		
			
				|  |  |        {
 | 
	
		
			
				|  |  | -        var call = CreateCall(__ServiceName, __Method_UnaryCall);
 | 
	
		
			
				|  |  | -        return Calls.AsyncUnaryCall(call, request, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_StreamingOutputCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.AsyncServerStreamingCall(call, request, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public AsyncServerStreamingCall<global::grpc.testing.StreamingOutputCallResponse> StreamingOutputCall(global::grpc.testing.StreamingOutputCallRequest request, CancellationToken token = default(CancellationToken))
 | 
	
		
			
				|  |  | +      public AsyncClientStreamingCall<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallResponse> StreamingInputCall(Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken))
 | 
	
		
			
				|  |  |        {
 | 
	
		
			
				|  |  | -        var call = CreateCall(__ServiceName, __Method_StreamingOutputCall);
 | 
	
		
			
				|  |  | -        return Calls.AsyncServerStreamingCall(call, request, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_StreamingInputCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.AsyncClientStreamingCall(call, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public AsyncClientStreamingCall<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallResponse> StreamingInputCall(CancellationToken token = default(CancellationToken))
 | 
	
		
			
				|  |  | +      public AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> FullDuplexCall(Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken))
 | 
	
		
			
				|  |  |        {
 | 
	
		
			
				|  |  | -        var call = CreateCall(__ServiceName, __Method_StreamingInputCall);
 | 
	
		
			
				|  |  | -        return Calls.AsyncClientStreamingCall(call, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_FullDuplexCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.AsyncDuplexStreamingCall(call, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> FullDuplexCall(CancellationToken token = default(CancellationToken))
 | 
	
		
			
				|  |  | +      public AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> HalfDuplexCall(Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken))
 | 
	
		
			
				|  |  |        {
 | 
	
		
			
				|  |  | -        var call = CreateCall(__ServiceName, __Method_FullDuplexCall);
 | 
	
		
			
				|  |  | -        return Calls.AsyncDuplexStreamingCall(call, token);
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      public AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> HalfDuplexCall(CancellationToken token = default(CancellationToken))
 | 
	
		
			
				|  |  | -      {
 | 
	
		
			
				|  |  | -        var call = CreateCall(__ServiceName, __Method_HalfDuplexCall);
 | 
	
		
			
				|  |  | -        return Calls.AsyncDuplexStreamingCall(call, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_HalfDuplexCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.AsyncDuplexStreamingCall(call, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -143,17 +140,12 @@ namespace grpc.testing {
 | 
	
		
			
				|  |  |            .AddMethod(__Method_HalfDuplexCall, serviceImpl.HalfDuplexCall).Build();
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    // creates a new client stub
 | 
	
		
			
				|  |  | -    public static ITestServiceClient NewStub(Channel channel)
 | 
	
		
			
				|  |  | +    // creates a new client
 | 
	
		
			
				|  |  | +    public static TestServiceClient NewClient(Channel channel)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |        return new TestServiceClient(channel);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    // creates a new client stub
 | 
	
		
			
				|  |  | -    public static ITestServiceClient NewStub(Channel channel, StubConfiguration config)
 | 
	
		
			
				|  |  | -    {
 | 
	
		
			
				|  |  | -      return new TestServiceClient(channel, config);
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  #endregion
 |