Go to the documentation of this file.
19 #ifndef GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_H
20 #define GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_H
270 size_t filter_count);
293 #define GRPC_CALL_STACK_REF(call_stack, reason) \
294 grpc_stream_ref(&(call_stack)->refcount, reason)
295 #define GRPC_CALL_STACK_UNREF(call_stack, reason) \
296 grpc_stream_unref(&(call_stack)->refcount, reason)
297 #define GRPC_CHANNEL_STACK_REF(channel_stack, reason) \
298 grpc_stream_ref(&(channel_stack)->refcount, reason)
299 #define GRPC_CHANNEL_STACK_UNREF(channel_stack, reason) \
300 grpc_stream_unref(&(channel_stack)->refcount, reason)
302 #define GRPC_CALL_STACK_REF(call_stack, reason) \
304 grpc_stream_ref(&(call_stack)->refcount); \
307 #define GRPC_CALL_STACK_UNREF(call_stack, reason) \
309 grpc_stream_unref(&(call_stack)->refcount); \
312 #define GRPC_CHANNEL_STACK_REF(channel_stack, reason) \
314 grpc_stream_ref(&(channel_stack)->refcount); \
317 #define GRPC_CHANNEL_STACK_UNREF(channel_stack, reason) \
319 grpc_stream_unref(&(channel_stack)->refcount); \
374 #define GRPC_CALL_LOG_OP(sev, elem, op) \
376 if (GRPC_TRACE_FLAG_ENABLED(grpc_trace_channel)) { \
377 grpc_call_log_op(sev, elem, op); \
void(* get_channel_info)(grpc_channel_element *elem, const grpc_channel_info *channel_info)
grpc_channel_element * grpc_channel_stack_element(grpc_channel_stack *stack, size_t i)
void(* post_init_channel_elem)(grpc_channel_stack *stk, grpc_channel_element *elem)
void grpc_call_next_op(grpc_call_element *elem, grpc_transport_stream_op_batch *op)
grpc_channel_stack * grpc_channel_stack_from_top_element(grpc_channel_element *elem)
#define GRPC_CHANNEL_STACK_UNREF(channel_stack, reason)
grpc_status_code final_status
grpc_core::RefCountedPtr< grpc_call_stack > Ref()
void grpc_call_stack_destroy(grpc_call_stack *stack, const grpc_call_final_info *final_info, grpc_closure *then_schedule_closure)
grpc_core::Timestamp deadline
void grpc_channel_stack_no_post_init(grpc_channel_stack *stk, grpc_channel_element *elem)
grpc_core::CallCombiner * call_combiner
grpc_core::ArenaPromise< grpc_core::ServerMetadataHandle >(* make_call_promise)(grpc_channel_element *elem, grpc_core::CallArgs call_args, grpc_core::NextPromiseFactory next_promise_factory)
grpc_error_handle(* init_channel_elem)(grpc_channel_element *elem, grpc_channel_element_args *args)
#define GRPC_CALL_STACK_UNREF(call_stack, reason)
grpc_error_handle grpc_call_stack_init(grpc_channel_stack *channel_stack, int initial_refs, grpc_iomgr_cb_func destroy, void *destroy_arg, const grpc_call_element_args *elem_args)
std::function< ArenaPromise< ServerMetadataHandle >(CallArgs)> NextPromiseFactory
size_t sizeof_channel_data
grpc_transport_stream_stats transport_stream_stats
void(* destroy_channel_elem)(grpc_channel_element *elem)
const grpc_channel_filter * filter
const grpc_channel_filter * filter
void grpc_call_stack_ignore_set_pollset_or_pollset_set(grpc_call_element *elem, grpc_polling_entity *pollent)
grpc_channel_stack * channel_stack
grpc_stream_refcount refcount
grpc_error * grpc_error_handle
grpc_core::TraceFlag grpc_trace_channel
grpc_channel_element * grpc_channel_stack_last_element(grpc_channel_stack *stack)
grpc_core::RefCountedPtr< grpc_channel_stack > Ref()
void grpc_channel_stack_destroy(grpc_channel_stack *stack)
void(* destroy_call_elem)(grpc_call_element *elem, const grpc_call_final_info *final_info, grpc_closure *then_schedule_closure)
grpc_call_element * grpc_call_stack_element(grpc_call_stack *stack, size_t i)
const char * error_string
void(* start_transport_stream_op_batch)(grpc_call_element *elem, grpc_transport_stream_op_batch *op)
#define GRPC_CHANNEL_STACK_REF(channel_stack, reason)
const grpc_channel_args * channel_args
grpc_core::ArenaPromise< grpc_core::ServerMetadataHandle > MakeCallPromise(grpc_core::CallArgs call_args)
grpc_call_stack * grpc_call_stack_from_top_element(grpc_call_element *elem)
void(* grpc_iomgr_cb_func)(void *arg, grpc_error_handle error)
size_t grpc_channel_stack_size(const grpc_channel_filter **filters, size_t filter_count)
void grpc_call_log_op(const char *file, int line, gpr_log_severity severity, grpc_call_element *elem, grpc_transport_stream_op_batch *op)
size_t grpc_channel_stack_filter_instance_number(grpc_channel_stack *channel_stack, grpc_channel_element *elem)
grpc_call_context_element * context
grpc_call_stack * call_stack
void grpc_call_stack_set_pollset_or_pollset_set(grpc_call_stack *call_stack, grpc_polling_entity *pollent)
grpc_core::ManualConstructor< std::function< void()> > on_destroy
void grpc_channel_next_get_info(grpc_channel_element *elem, const grpc_channel_info *channel_info)
void(* set_pollset_or_pollset_set)(grpc_call_element *elem, grpc_polling_entity *pollent)
void(* start_transport_op)(grpc_channel_element *elem, grpc_transport_op *op)
#define GRPC_CALL_STACK_REF(call_stack, reason)
const void * server_transport_data
gpr_cycle_counter start_time
grpc_stream_refcount refcount
grpc_error_handle grpc_channel_stack_init(int initial_refs, grpc_iomgr_cb_func destroy, void *destroy_arg, const grpc_channel_filter **filters, size_t filter_count, const grpc_channel_args *args, const char *name, grpc_channel_stack *stack)
void grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op)
static std::function< void(void *, Slot *)> destroy
grpc_error_handle(* init_call_elem)(grpc_call_element *elem, const grpc_call_element_args *args)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:58:44