|  | @@ -59,14 +59,14 @@ namespace grpc.testing {
 | 
	
		
			
				|  |  |      // 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
 | 
	
	
		
			
				|  | @@ -86,45 +86,45 @@ namespace grpc.testing {
 | 
	
		
			
				|  |  |        public TestServiceClient(Channel channel) : base(channel)
 | 
	
		
			
				|  |  |        {
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public global::grpc.testing.Empty EmptyCall(global::grpc.testing.Empty request, CancellationToken token = default(CancellationToken))
 | 
	
		
			
				|  |  | +      public global::grpc.testing.Empty EmptyCall(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.BlockingUnaryCall(call, request, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public Task<global::grpc.testing.Empty> EmptyCallAsync(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.AsyncUnaryCall(call, request, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_EmptyCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.AsyncUnaryCall(call, request, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public global::grpc.testing.SimpleResponse UnaryCall(global::grpc.testing.SimpleRequest 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_UnaryCall);
 | 
	
		
			
				|  |  | -        return Calls.BlockingUnaryCall(call, request, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_UnaryCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.BlockingUnaryCall(call, request, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public Task<global::grpc.testing.SimpleResponse> UnaryCallAsync(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.AsyncUnaryCall(call, request, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_UnaryCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.AsyncUnaryCall(call, request, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public AsyncServerStreamingCall<global::grpc.testing.StreamingOutputCallResponse> StreamingOutputCall(global::grpc.testing.StreamingOutputCallRequest 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_StreamingOutputCall);
 | 
	
		
			
				|  |  | -        return Calls.AsyncServerStreamingCall(call, request, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_StreamingOutputCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.AsyncServerStreamingCall(call, request, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public AsyncClientStreamingCall<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallResponse> StreamingInputCall(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_StreamingInputCall);
 | 
	
		
			
				|  |  | -        return Calls.AsyncClientStreamingCall(call, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_StreamingInputCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.AsyncClientStreamingCall(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> FullDuplexCall(Metadata headers = null, CancellationToken cancellationToken = default(CancellationToken))
 | 
	
		
			
				|  |  |        {
 | 
	
		
			
				|  |  | -        var call = CreateCall(__ServiceName, __Method_FullDuplexCall);
 | 
	
		
			
				|  |  | -        return Calls.AsyncDuplexStreamingCall(call, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_FullDuplexCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.AsyncDuplexStreamingCall(call, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      public AsyncDuplexStreamingCall<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallResponse> HalfDuplexCall(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_HalfDuplexCall);
 | 
	
		
			
				|  |  | -        return Calls.AsyncDuplexStreamingCall(call, token);
 | 
	
		
			
				|  |  | +        var call = CreateCall(__ServiceName, __Method_HalfDuplexCall, headers);
 | 
	
		
			
				|  |  | +        return Calls.AsyncDuplexStreamingCall(call, cancellationToken);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |