| 
					
				 | 
			
			
				@@ -918,6 +918,26 @@ bool InteropClient::DoCacheableUnary() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // second response is a cached copy of the first response 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPR_ASSERT(response2.payload().body() == response1.payload().body()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Request 3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Modify the request body so it will not get a cache hit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ts = gpr_now(GPR_CLOCK_PRECISE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  timestamp = std::to_string((long long unsigned)ts.tv_nsec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  SimpleRequest request1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  request1.mutable_payload()->set_body(timestamp.c_str(), timestamp.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ClientContext context3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  SimpleResponse response3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  context3.set_cacheable(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  context3.AddMetadata("x-user-ip", "1.2.3.4"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  Status s3 = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      serviceStub_.Get()->CacheableUnaryCall(&context3, request1, &response3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (!AssertStatusOk(s3)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  gpr_log(GPR_DEBUG, "response 3 payload: %s", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          response3.payload().body().c_str()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Check that the response is different from the previous response. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  GPR_ASSERT(response3.payload().body() != response1.payload().body()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |