19 #ifndef GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_H 20 #define GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_H 205 size_t filter_count);
228 #define GRPC_CALL_STACK_REF(call_stack, reason) \ 229 grpc_stream_ref(&(call_stack)->refcount, reason) 230 #define GRPC_CALL_STACK_UNREF(call_stack, reason) \ 231 grpc_stream_unref(&(call_stack)->refcount, reason) 232 #define GRPC_CHANNEL_STACK_REF(channel_stack, reason) \ 233 grpc_stream_ref(&(channel_stack)->refcount, reason) 234 #define GRPC_CHANNEL_STACK_UNREF(channel_stack, reason) \ 235 grpc_stream_unref(&(channel_stack)->refcount, reason) 237 #define GRPC_CALL_STACK_REF(call_stack, reason) \ 239 grpc_stream_ref(&(call_stack)->refcount); \ 242 #define GRPC_CALL_STACK_UNREF(call_stack, reason) \ 244 grpc_stream_unref(&(call_stack)->refcount); \ 247 #define GRPC_CHANNEL_STACK_REF(channel_stack, reason) \ 249 grpc_stream_ref(&(channel_stack)->refcount); \ 252 #define GRPC_CHANNEL_STACK_UNREF(channel_stack, reason) \ 254 grpc_stream_unref(&(channel_stack)->refcount); \ 290 #define GRPC_CALL_LOG_OP(sev, elem, op) \ 292 if (GRPC_TRACE_FLAG_ENABLED(grpc_trace_channel)) { \ 293 grpc_call_log_op(sev, elem, op); \ Definition: channel_stack.h:99
size_t count
Definition: channel_stack.h:191
Definition: channel_stack.h:175
int64_t grpc_millis
Definition: exec_ctx.h:35
grpc_status_code
Definition: status.h:26
An array of arguments that can be passed around.
Definition: grpc_types.h:132
size_t sizeof_channel_data
Definition: channel_stack.h:135
grpc_error * 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)
grpc_millis deadline
Definition: channel_stack.h:72
Definition: channel_stack.h:57
Definition: transport.h:56
grpc_call_stack * call_stack
Definition: channel_stack.h:67
Definition: call_combiner.h:49
A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...
Definition: slice.h:60
Definition: error_internal.h:39
size_t count
Definition: channel_stack.h:177
gpr_timespec latency
Definition: channel_stack.h:79
int is_last
Definition: channel_stack.h:63
grpc_call_stats stats
Definition: channel_stack.h:84
grpc_channel_stack * grpc_channel_stack_from_top_element(grpc_channel_element *elem)
size_t sizeof_call_data
Definition: channel_stack.h:110
grpc_transport_stream_stats transport_stream_stats
Definition: channel_stack.h:78
const void * server_transport_data
Definition: channel_stack.h:68
grpc_core::TraceFlag grpc_trace_channel
void * channel_data
Definition: channel_stack.h:161
const grpc_channel_filter * filter
Definition: channel_stack.h:160
Definition: transport.h:128
grpc_channel_stack * channel_stack
Definition: channel_stack.h:58
Definition: polling_entity.h:37
Definition: transport.h:163
grpc_core::CallCombiner * call_combiner
Definition: channel_stack.h:74
void grpc_call_stack_destroy(grpc_call_stack *stack, const grpc_call_final_info *final_info, grpc_closure *then_schedule_closure)
const char * error_string
Definition: channel_stack.h:86
void grpc_channel_stack_destroy(grpc_channel_stack *stack)
Not an error; returned on success.
Definition: status.h:28
grpc_call_stack * grpc_call_stack_from_top_element(grpc_call_element *elem)
const grpc_channel_filter * filter
Definition: channel_stack.h:168
void grpc_call_stack_ignore_set_pollset_or_pollset_set(grpc_call_element *elem, grpc_polling_entity *pollent)
Definition: channel_stack.h:77
void grpc_call_log_op(const char *file, int line, gpr_log_severity severity, grpc_call_element *elem, grpc_transport_stream_op_batch *op)
void grpc_channel_next_get_info(grpc_channel_element *elem, const grpc_channel_info *channel_info)
grpc_call_context_element * context
Definition: channel_stack.h:69
size_t grpc_channel_stack_size(const grpc_channel_filter **filters, size_t filter_count)
grpc_status_code final_status
Definition: channel_stack.h:85
void grpc_call_stack_set_pollset_or_pollset_set(grpc_call_stack *call_stack, grpc_polling_entity *pollent)
void grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op)
gpr_log_severity
GPR log API.
Definition: log.h:43
void * call_data
Definition: channel_stack.h:170
A closure over a grpc_iomgr_cb_func.
Definition: closure.h:56
Definition: channel_stack.h:185
const grpc_channel_args * channel_args
Definition: channel_stack.h:59
grpc_error * 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, grpc_transport *optional_transport, const char *name, grpc_channel_stack *stack)
gpr_cycle_counter start_time
Definition: channel_stack.h:71
const grpc_slice & path
Definition: channel_stack.h:70
Information requested from the channel.
Definition: grpc_types.h:668
grpc_stream_refcount refcount
Definition: channel_stack.h:190
grpc_transport * optional_transport
Transport, iff it is known.
Definition: channel_stack.h:61
grpc_stream_refcount refcount
Definition: channel_stack.h:176
Definition: channel_stack.h:159
grpc_channel_element * grpc_channel_stack_last_element(grpc_channel_stack *stack)
Analogous to struct timespec.
Definition: gpr_types.h:47
Definition: channel_stack.h:167
void(* grpc_iomgr_cb_func)(void *arg, grpc_error *error)
gRPC Callback definition.
Definition: closure.h:53
grpc_call_element * grpc_call_stack_element(grpc_call_stack *stack, size_t i)
Definition: transport_impl.h:66
size_t call_stack_size
Definition: channel_stack.h:180
Definition: channel_stack.h:66
void grpc_call_next_op(grpc_call_element *elem, grpc_transport_stream_op_batch *op)
const char * name
Definition: channel_stack.h:154
void * channel_data
Definition: channel_stack.h:169
Information about the call upon completion.
Definition: channel_stack.h:83
grpc_channel_element * grpc_channel_stack_element(grpc_channel_stack *stack, size_t i)
Transport op: a set of operations to perform on a transport as a whole.
Definition: transport.h:324
grpc_core::Arena * arena
Definition: channel_stack.h:73
int is_first
Definition: channel_stack.h:62