GRPC Core  9.0.0
Data Structures | Macros | Typedefs | Functions | Variables
channel_stack.h File Reference
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include <grpc/grpc.h>
#include <grpc/support/log.h>
#include <grpc/support/time.h>
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gpr/time_precise.h"
#include "src/core/lib/gprpp/arena.h"
#include "src/core/lib/iomgr/call_combiner.h"
#include "src/core/lib/iomgr/polling_entity.h"
#include "src/core/lib/transport/transport.h"

Go to the source code of this file.

Data Structures

struct  grpc_channel_element_args
 
struct  grpc_call_element_args
 
struct  grpc_call_stats
 
struct  grpc_call_final_info
 Information about the call upon completion. More...
 
struct  grpc_channel_filter
 
struct  grpc_channel_element
 
struct  grpc_call_element
 
struct  grpc_channel_stack
 
struct  grpc_call_stack
 

Macros

#define GRPC_CALL_STACK_REF(call_stack, reason)    grpc_stream_ref(&(call_stack)->refcount, reason)
 
#define GRPC_CALL_STACK_UNREF(call_stack, reason)    grpc_stream_unref(&(call_stack)->refcount, reason)
 
#define GRPC_CHANNEL_STACK_REF(channel_stack, reason)    grpc_stream_ref(&(channel_stack)->refcount, reason)
 
#define GRPC_CHANNEL_STACK_UNREF(channel_stack, reason)    grpc_stream_unref(&(channel_stack)->refcount, reason)
 
#define GRPC_CALL_LOG_OP(sev, elem, op)
 

Typedefs

typedef struct grpc_channel_element grpc_channel_element
 
typedef struct grpc_call_element grpc_call_element
 
typedef struct grpc_channel_stack grpc_channel_stack
 
typedef struct grpc_call_stack grpc_call_stack
 

Functions

grpc_channel_elementgrpc_channel_stack_element (grpc_channel_stack *stack, size_t i)
 
grpc_channel_elementgrpc_channel_stack_last_element (grpc_channel_stack *stack)
 
grpc_call_elementgrpc_call_stack_element (grpc_call_stack *stack, size_t i)
 
size_t grpc_channel_stack_size (const grpc_channel_filter **filters, size_t filter_count)
 
grpc_errorgrpc_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)
 
void grpc_channel_stack_destroy (grpc_channel_stack *stack)
 
grpc_errorgrpc_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)
 
void grpc_call_stack_set_pollset_or_pollset_set (grpc_call_stack *call_stack, grpc_polling_entity *pollent)
 
void grpc_call_stack_destroy (grpc_call_stack *stack, const grpc_call_final_info *final_info, grpc_closure *then_schedule_closure)
 
void grpc_call_stack_ignore_set_pollset_or_pollset_set (grpc_call_element *elem, grpc_polling_entity *pollent)
 
void grpc_call_next_op (grpc_call_element *elem, grpc_transport_stream_op_batch *op)
 
void grpc_channel_next_op (grpc_channel_element *elem, grpc_transport_op *op)
 
void grpc_channel_next_get_info (grpc_channel_element *elem, const grpc_channel_info *channel_info)
 
grpc_channel_stackgrpc_channel_stack_from_top_element (grpc_channel_element *elem)
 
grpc_call_stackgrpc_call_stack_from_top_element (grpc_call_element *elem)
 
void grpc_call_log_op (const char *file, int line, gpr_log_severity severity, grpc_call_element *elem, grpc_transport_stream_op_batch *op)
 

Variables

grpc_core::TraceFlag grpc_trace_channel
 

Macro Definition Documentation

◆ GRPC_CALL_LOG_OP

#define GRPC_CALL_LOG_OP (   sev,
  elem,
  op 
)
Value:
do { \
grpc_call_log_op(sev, elem, op); \
} \
} while (0)
grpc_core::TraceFlag grpc_trace_channel
grpc_call_element * elem
Definition: client_channel.cc:112
#define GRPC_TRACE_FLAG_ENABLED(f)
Definition: trace.h:112

◆ GRPC_CALL_STACK_REF

#define GRPC_CALL_STACK_REF (   call_stack,
  reason 
)     grpc_stream_ref(&(call_stack)->refcount, reason)

◆ GRPC_CALL_STACK_UNREF

#define GRPC_CALL_STACK_UNREF (   call_stack,
  reason 
)     grpc_stream_unref(&(call_stack)->refcount, reason)

◆ GRPC_CHANNEL_STACK_REF

#define GRPC_CHANNEL_STACK_REF (   channel_stack,
  reason 
)     grpc_stream_ref(&(channel_stack)->refcount, reason)

◆ GRPC_CHANNEL_STACK_UNREF

#define GRPC_CHANNEL_STACK_UNREF (   channel_stack,
  reason 
)     grpc_stream_unref(&(channel_stack)->refcount, reason)

Typedef Documentation

◆ grpc_call_element

◆ grpc_call_stack

◆ grpc_channel_element

◆ grpc_channel_stack

Function Documentation

◆ grpc_call_log_op()

void grpc_call_log_op ( const char *  file,
int  line,
gpr_log_severity  severity,
grpc_call_element elem,
grpc_transport_stream_op_batch op 
)

◆ grpc_call_next_op()

void grpc_call_next_op ( grpc_call_element elem,
grpc_transport_stream_op_batch op 
)

◆ grpc_call_stack_destroy()

void grpc_call_stack_destroy ( grpc_call_stack stack,
const grpc_call_final_info final_info,
grpc_closure then_schedule_closure 
)

◆ grpc_call_stack_element()

grpc_call_element* grpc_call_stack_element ( grpc_call_stack stack,
size_t  i 
)

◆ grpc_call_stack_from_top_element()

grpc_call_stack* grpc_call_stack_from_top_element ( grpc_call_element elem)

◆ grpc_call_stack_ignore_set_pollset_or_pollset_set()

void grpc_call_stack_ignore_set_pollset_or_pollset_set ( grpc_call_element elem,
grpc_polling_entity pollent 
)

◆ grpc_call_stack_init()

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_call_stack_set_pollset_or_pollset_set()

void grpc_call_stack_set_pollset_or_pollset_set ( grpc_call_stack call_stack,
grpc_polling_entity pollent 
)

◆ grpc_channel_next_get_info()

void grpc_channel_next_get_info ( grpc_channel_element elem,
const grpc_channel_info channel_info 
)

◆ grpc_channel_next_op()

void grpc_channel_next_op ( grpc_channel_element elem,
grpc_transport_op op 
)

◆ grpc_channel_stack_destroy()

void grpc_channel_stack_destroy ( grpc_channel_stack stack)

◆ grpc_channel_stack_element()

grpc_channel_element* grpc_channel_stack_element ( grpc_channel_stack stack,
size_t  i 
)

◆ grpc_channel_stack_from_top_element()

grpc_channel_stack* grpc_channel_stack_from_top_element ( grpc_channel_element elem)

◆ grpc_channel_stack_init()

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 
)

◆ grpc_channel_stack_last_element()

grpc_channel_element* grpc_channel_stack_last_element ( grpc_channel_stack stack)

◆ grpc_channel_stack_size()

size_t grpc_channel_stack_size ( const grpc_channel_filter **  filters,
size_t  filter_count 
)

Variable Documentation

◆ grpc_trace_channel

grpc_core::TraceFlag grpc_trace_channel
extern