Classes | Namespaces | Typedefs | Functions | Variables
deadline_filter.cc File Reference
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/deadline/deadline_filter.h"
#include <new>
#include "absl/status/status.h"
#include "absl/types/optional.h"
#include <grpc/status.h>
#include <grpc/support/log.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_stack_builder.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/iomgr/timer.h"
#include "src/core/lib/surface/channel_init.h"
#include "src/core/lib/surface/channel_stack_type.h"
#include "src/core/lib/transport/metadata_batch.h"
Include dependency graph for deadline_filter.cc:

Go to the source code of this file.

Classes

struct  base_call_data
 
struct  server_call_data
 
struct  start_timer_after_init_state
 
class  grpc_core::TimerState
 

Namespaces

 grpc_core
 

Typedefs

typedef struct base_call_data base_call_data
 
typedef struct server_call_data server_call_data
 

Functions

static void cancel_timer_if_needed (grpc_deadline_state *deadline_state)
 
static void deadline_client_start_transport_stream_op_batch (grpc_call_element *elem, grpc_transport_stream_op_batch *op)
 
static void deadline_destroy_call_elem (grpc_call_element *elem, const grpc_call_final_info *, grpc_closure *)
 
static void deadline_destroy_channel_elem (grpc_channel_element *)
 
static grpc_error_handle deadline_init_call_elem (grpc_call_element *elem, const grpc_call_element_args *args)
 
static grpc_error_handle deadline_init_channel_elem (grpc_channel_element *, grpc_channel_element_args *args)
 
static void deadline_server_start_transport_stream_op_batch (grpc_call_element *elem, grpc_transport_stream_op_batch *op)
 
bool grpc_deadline_checking_enabled (const grpc_channel_args *channel_args)
 
void grpc_deadline_state_client_start_transport_stream_op_batch (grpc_call_element *elem, grpc_transport_stream_op_batch *op)
 
void grpc_deadline_state_reset (grpc_call_element *elem, grpc_core::Timestamp new_deadline)
 
static void inject_recv_trailing_metadata_ready (grpc_deadline_state *deadline_state, grpc_transport_stream_op_batch *op)
 
static void recv_initial_metadata_ready (void *arg, grpc_error_handle error)
 
static void recv_trailing_metadata_ready (void *arg, grpc_error_handle error)
 
void grpc_core::RegisterDeadlineFilter (CoreConfiguration::Builder *builder)
 
static void start_timer_after_init (void *arg, grpc_error_handle error)
 
static void start_timer_if_needed (grpc_call_element *elem, grpc_core::Timestamp deadline)
 

Variables

const grpc_channel_filter grpc_client_deadline_filter
 
const grpc_channel_filter grpc_server_deadline_filter
 

Typedef Documentation

◆ base_call_data

◆ server_call_data

Function Documentation

◆ cancel_timer_if_needed()

static void cancel_timer_if_needed ( grpc_deadline_state deadline_state)
static

Definition at line 133 of file deadline_filter.cc.

◆ deadline_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 
)
static

Definition at line 291 of file deadline_filter.cc.

◆ deadline_destroy_call_elem()

static void deadline_destroy_call_elem ( grpc_call_element elem,
const grpc_call_final_info ,
grpc_closure  
)
static

Definition at line 282 of file deadline_filter.cc.

◆ deadline_destroy_channel_elem()

static void deadline_destroy_channel_elem ( grpc_channel_element )
static

Definition at line 255 of file deadline_filter.cc.

◆ deadline_init_call_elem()

static grpc_error_handle deadline_init_call_elem ( grpc_call_element elem,
const grpc_call_element_args args 
)
static

Definition at line 275 of file deadline_filter.cc.

◆ deadline_init_channel_elem()

static grpc_error_handle deadline_init_channel_elem ( grpc_channel_element ,
grpc_channel_element_args args 
)
static

Definition at line 248 of file deadline_filter.cc.

◆ deadline_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 
)
static

Definition at line 312 of file deadline_filter.cc.

◆ grpc_deadline_checking_enabled()

bool grpc_deadline_checking_enabled ( const grpc_channel_args channel_args)

Definition at line 377 of file deadline_filter.cc.

◆ grpc_deadline_state_client_start_transport_stream_op_batch()

void grpc_deadline_state_client_start_transport_stream_op_batch ( grpc_call_element elem,
grpc_transport_stream_op_batch op 
)

Definition at line 228 of file deadline_filter.cc.

◆ grpc_deadline_state_reset()

void grpc_deadline_state_reset ( grpc_call_element elem,
grpc_core::Timestamp  new_deadline 
)

Definition at line 220 of file deadline_filter.cc.

◆ inject_recv_trailing_metadata_ready()

static void inject_recv_trailing_metadata_ready ( grpc_deadline_state deadline_state,
grpc_transport_stream_op_batch op 
)
static

Definition at line 151 of file deadline_filter.cc.

◆ recv_initial_metadata_ready()

static void recv_initial_metadata_ready ( void *  arg,
grpc_error_handle  error 
)
static

Definition at line 299 of file deadline_filter.cc.

◆ recv_trailing_metadata_ready()

static void recv_trailing_metadata_ready ( void *  arg,
grpc_error_handle  error 
)
static

Definition at line 141 of file deadline_filter.cc.

◆ start_timer_after_init()

static void start_timer_after_init ( void *  arg,
grpc_error_handle  error 
)
static

Definition at line 175 of file deadline_filter.cc.

◆ start_timer_if_needed()

static void start_timer_if_needed ( grpc_call_element elem,
grpc_core::Timestamp  deadline 
)
static

Definition at line 120 of file deadline_filter.cc.

Variable Documentation

◆ grpc_client_deadline_filter

const grpc_channel_filter grpc_client_deadline_filter

◆ grpc_server_deadline_filter

const grpc_channel_filter grpc_server_deadline_filter
grpc_channel_next_op
void grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op)
Definition: channel_stack.cc:264
grpc_call_stack_ignore_set_pollset_or_pollset_set
void grpc_call_stack_ignore_set_pollset_or_pollset_set(grpc_call_element *, grpc_polling_entity *)
Definition: channel_stack.cc:233
deadline_destroy_call_elem
static void deadline_destroy_call_elem(grpc_call_element *elem, const grpc_call_final_info *, grpc_closure *)
Definition: deadline_filter.cc:282
grpc_channel_stack_no_post_init
void grpc_channel_stack_no_post_init(grpc_channel_stack *, grpc_channel_element *)
Definition: channel_stack.cc:282
grpc_channel_next_get_info
void grpc_channel_next_get_info(grpc_channel_element *elem, const grpc_channel_info *channel_info)
Definition: channel_stack.cc:258
deadline_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)
Definition: deadline_filter.cc:312
server_call_data
struct server_call_data server_call_data
base_call_data
struct base_call_data base_call_data
deadline_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)
Definition: deadline_filter.cc:291
deadline_init_channel_elem
static grpc_error_handle deadline_init_channel_elem(grpc_channel_element *, grpc_channel_element_args *args)
Definition: deadline_filter.cc:248
deadline_destroy_channel_elem
static void deadline_destroy_channel_elem(grpc_channel_element *)
Definition: deadline_filter.cc:255
deadline_init_call_elem
static grpc_error_handle deadline_init_call_elem(grpc_call_element *elem, const grpc_call_element_args *args)
Definition: deadline_filter.cc:275


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:09