| 
					
				 | 
			
			
				@@ -233,14 +233,14 @@ void grpc_deadline_state_client_start_transport_stream_op_batch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // Constructor for channel_data.  Used for both client and server filters. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-static grpc_error* init_channel_elem(grpc_channel_element* elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                     grpc_channel_element_args* args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static grpc_error* deadline_init_channel_elem(grpc_channel_element* elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                              grpc_channel_element_args* args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   GPR_ASSERT(!args->is_last); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return GRPC_ERROR_NONE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // Destructor for channel_data.  Used for both client and server filters. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-static void destroy_channel_elem(grpc_channel_element* elem) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void deadline_destroy_channel_elem(grpc_channel_element* elem) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // Call data used for both client and server filter. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 typedef struct base_call_data { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -260,24 +260,24 @@ typedef struct server_call_data { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } server_call_data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // Constructor for call_data.  Used for both client and server filters. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-static grpc_error* init_call_elem(grpc_call_element* elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                  const grpc_call_element_args* args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static grpc_error* deadline_init_call_elem(grpc_call_element* elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                           const grpc_call_element_args* args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   new (elem->call_data) grpc_deadline_state( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       elem, args->call_stack, args->call_combiner, args->deadline); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return GRPC_ERROR_NONE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // Destructor for call_data.  Used for both client and server filters. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-static void destroy_call_elem(grpc_call_element* elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              const grpc_call_final_info* final_info, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              grpc_closure* ignored) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void deadline_destroy_call_elem(grpc_call_element* elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                       const grpc_call_final_info* final_info, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                       grpc_closure* ignored) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   grpc_deadline_state* deadline_state = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       static_cast<grpc_deadline_state*>(elem->call_data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   deadline_state->~grpc_deadline_state(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // Method for starting a call op for client filter. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-static void client_start_transport_stream_op_batch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void deadline_client_start_transport_stream_op_batch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_call_element* elem, grpc_transport_stream_op_batch* op) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   grpc_deadline_state_client_start_transport_stream_op_batch(elem, op); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Chain to next filter. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -295,7 +295,7 @@ static void recv_initial_metadata_ready(void* arg, grpc_error* error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // Method for starting a call op for server filter. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-static void server_start_transport_stream_op_batch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static void deadline_server_start_transport_stream_op_batch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_call_element* elem, grpc_transport_stream_op_batch* op) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   server_call_data* calld = static_cast<server_call_data*>(elem->call_data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (op->cancel_stream) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -329,29 +329,29 @@ static void server_start_transport_stream_op_batch( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const grpc_channel_filter grpc_client_deadline_filter = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    client_start_transport_stream_op_batch, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deadline_client_start_transport_stream_op_batch, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_channel_next_op, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     sizeof(base_call_data), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    init_call_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deadline_init_call_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_call_stack_ignore_set_pollset_or_pollset_set, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroy_call_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deadline_destroy_call_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     0,  // sizeof(channel_data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    init_channel_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroy_channel_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deadline_init_channel_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deadline_destroy_channel_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_channel_next_get_info, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     "deadline", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const grpc_channel_filter grpc_server_deadline_filter = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    server_start_transport_stream_op_batch, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deadline_server_start_transport_stream_op_batch, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_channel_next_op, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     sizeof(server_call_data), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    init_call_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deadline_init_call_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_call_stack_ignore_set_pollset_or_pollset_set, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroy_call_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deadline_destroy_call_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     0,  // sizeof(channel_data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    init_channel_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destroy_channel_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deadline_init_channel_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    deadline_destroy_channel_elem, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_channel_next_get_info, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     "deadline", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 |