GRPC Core
18.0.0
|
#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 struct stage_slot stage_slot |
typedef struct stage_slots stage_slots |
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)
void grpc_channel_init_finalize | ( | void | ) |
Finalize registration.
No more calls to grpc_channel_init_register_stage are allowed.
void grpc_channel_init_init | ( | void | ) |
Global initialization of the system.
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.
void grpc_channel_init_shutdown | ( | void | ) |
Shutdown the channel init system.