GRPC C++  1.39.1
Data Structures | Typedefs | Functions
channel_init.cc File Reference
#include <grpc/support/port_platform.h>
#include "src/core/lib/surface/channel_init.h"
#include <grpc/support/alloc.h>

Data Structures

struct  stage_slot
 
struct  stage_slots
 

Typedefs

typedef struct stage_slot stage_slot
 
typedef struct stage_slots stage_slots
 

Functions

void grpc_channel_init_init (void)
 Global initialization of the system. More...
 
void grpc_channel_init_register_stage (grpc_channel_stack_type type, int priority, grpc_channel_init_stage stage, void *stage_arg)
 Register one stage of mutators. More...
 
void grpc_channel_init_finalize (void)
 Finalize registration. More...
 
void grpc_channel_init_shutdown (void)
 Shutdown the channel init system. More...
 
bool grpc_channel_init_create_stack (grpc_channel_stack_builder *builder, grpc_channel_stack_type type)
 Construct a channel stack of some sort: see channel_stack.h for details type is the type of channel stack to create prefix_bytes is the number of bytes before the channel stack to allocate args are configuration arguments for the channel stack initial_refs is the initial refcount to give the channel stack destroy and destroy_arg specify how to destroy the channel stack if destroy_arg is NULL, the returned value from this function will be substituted optional_transport is either NULL or a constructed transport object Returns a pointer to the base of the memory allocated (the actual channel stack object will be prefix_bytes past that pointer) More...
 

Typedef Documentation

◆ stage_slot

typedef struct stage_slot stage_slot

◆ stage_slots

typedef struct stage_slots stage_slots

Function Documentation

◆ grpc_channel_init_create_stack()

bool grpc_channel_init_create_stack ( grpc_channel_stack_builder builder,
grpc_channel_stack_type  type 
)

Construct a channel stack of some sort: see channel_stack.h for details type is the type of channel stack to create prefix_bytes is the number of bytes before the channel stack to allocate args are configuration arguments for the channel stack initial_refs is the initial refcount to give the channel stack destroy and destroy_arg specify how to destroy the channel stack if destroy_arg is NULL, the returned value from this function will be substituted optional_transport is either NULL or a constructed transport object Returns a pointer to the base of the memory allocated (the actual channel stack object will be prefix_bytes past that pointer)

◆ grpc_channel_init_finalize()

void grpc_channel_init_finalize ( void  )

Finalize registration.

No more calls to grpc_channel_init_register_stage are allowed.

◆ grpc_channel_init_init()

void grpc_channel_init_init ( void  )

Global initialization of the system.

◆ grpc_channel_init_register_stage()

void grpc_channel_init_register_stage ( grpc_channel_stack_type  type,
int  priority,
grpc_channel_init_stage  stage_fn,
void *  stage_arg 
)

Register one stage of mutators.

Stages are run in priority order (lowest to highest), and then in registration order (in the case of a tie). Stages are registered against one of the pre-determined channel stack types. If the channel stack type is GRPC_CLIENT_SUBCHANNEL, the caller should ensure that subchannels with different filter lists will always have different channel args. This requires setting a channel arg in case the registration function relies on some condition other than channel args to decide whether to add a filter or not.

◆ grpc_channel_init_shutdown()

void grpc_channel_init_shutdown ( void  )

Shutdown the channel init system.