| 
					
				 | 
			
			
				@@ -60,8 +60,8 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   describe 'restricted view methods' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     before(:each) do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                          deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done_tag, meta_tag = ActiveCall.client_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       @client_call = ActiveCall.new(call, @client_queue, @pass_through, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     @pass_through, deadline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     finished_tag: done_tag, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -92,8 +92,8 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   describe '#remote_send' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     it 'allows a client to send a payload to the server' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                          deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done_tag, meta_tag = ActiveCall.client_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       @client_call = ActiveCall.new(call, @client_queue, @pass_through, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     @pass_through, deadline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                     finished_tag: done_tag, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -118,8 +118,8 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     it 'marshals the payload using the marshal func' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                          deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done_tag, meta_tag = ActiveCall.client_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       marshal = proc { |x| 'marshalled:' + x } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       client_call = ActiveCall.new(call, @client_queue, marshal, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    @pass_through, deadline, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -139,11 +139,11 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  describe '#client_start_invoke' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  describe '#client_invoke' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     it 'sends keywords as metadata to the server when the are present' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ActiveCall.client_start_invoke(call, @client_queue, deadline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                     k1: 'v1', k2: 'v2') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ActiveCall.client_invoke(call, @client_queue, deadline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               k1: 'v1', k2: 'v2') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       @server.request_call(@server_tag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ev = @server_queue.next(deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       expect(ev).to_not be_nil 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -155,8 +155,8 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   describe '#remote_read' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     it 'reads the response sent by a server' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                          deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done_tag, meta_tag = ActiveCall.client_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       client_call = ActiveCall.new(call, @client_queue, @pass_through, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    @pass_through, deadline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    finished_tag: done_tag, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -170,8 +170,8 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     it 'saves metadata { status=200 } when the server adds no metadata' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                          deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done_tag, meta_tag = ActiveCall.client_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       client_call = ActiveCall.new(call, @client_queue, @pass_through, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    @pass_through, deadline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    finished_tag: done_tag, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -187,8 +187,8 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     it 'saves metadata add by the server' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                          deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done_tag, meta_tag = ActiveCall.client_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       client_call = ActiveCall.new(call, @client_queue, @pass_through, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    @pass_through, deadline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    finished_tag: done_tag, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -205,7 +205,7 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     it 'get a nil msg before a status when an OK status is sent' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done_tag, meta_tag = ActiveCall.client_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                           deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       client_call = ActiveCall.new(call, @client_queue, @pass_through, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    @pass_through, deadline, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -224,8 +224,8 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     it 'unmarshals the response using the unmarshal func' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                          deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done_tag, meta_tag = ActiveCall.client_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       unmarshal = proc { |x| 'unmarshalled:' + x } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       client_call = ActiveCall.new(call, @client_queue, @pass_through, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    unmarshal, deadline, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -251,8 +251,8 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     it 'the returns an enumerator that can read n responses' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                          deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done_tag, meta_tag = ActiveCall.client_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       client_call = ActiveCall.new(call, @client_queue, @pass_through, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    @pass_through, deadline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    finished_tag: done_tag, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -271,8 +271,8 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     it 'the returns an enumerator that stops after an OK Status' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                          deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done_tag, meta_tag = ActiveCall.client_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       client_call = ActiveCall.new(call, @client_queue, @pass_through, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    @pass_through, deadline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    read_metadata_tag: meta_tag, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -296,8 +296,8 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   describe '#writes_done' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     it 'finishes ok if the server sends a status response' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                          deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done_tag, meta_tag = ActiveCall.client_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       client_call = ActiveCall.new(call, @client_queue, @pass_through, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    @pass_through, deadline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    finished_tag: done_tag, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -315,8 +315,8 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     it 'finishes ok if the server sends an early status response' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                          deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done_tag, meta_tag = ActiveCall.client_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       client_call = ActiveCall.new(call, @client_queue, @pass_through, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    @pass_through, deadline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    read_metadata_tag: meta_tag, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -334,8 +334,8 @@ describe GRPC::ActiveCall do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     it 'finishes ok if writes_done is true' do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       call = make_test_call 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      done_tag, meta_tag = ActiveCall.client_start_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                          deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      done_tag, meta_tag = ActiveCall.client_invoke(call, @client_queue, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    deadline) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       client_call = ActiveCall.new(call, @client_queue, @pass_through, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    @pass_through, deadline, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    read_metadata_tag: meta_tag, 
			 |