GRPC Core
9.0.0
|
#include <grpc/support/port_platform.h>
#include <stdbool.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_stack.h"
Go to the source code of this file.
Typedefs | |
typedef struct grpc_channel_stack_builder | grpc_channel_stack_builder |
grpc_channel_stack_builder offers a programmatic interface to selected and order channel filters More... | |
typedef struct grpc_channel_stack_builder_iterator | grpc_channel_stack_builder_iterator |
typedef void(* | grpc_post_filter_create_init_func) (grpc_channel_stack *channel_stack, grpc_channel_element *elem, void *arg) |
typedef struct grpc_channel_stack_builder grpc_channel_stack_builder |
grpc_channel_stack_builder offers a programmatic interface to selected and order channel filters
typedef void(* grpc_post_filter_create_init_func) (grpc_channel_stack *channel_stack, grpc_channel_element *elem, void *arg) |
bool grpc_channel_stack_builder_add_filter_after | ( | grpc_channel_stack_builder_iterator * | iterator, |
const grpc_channel_filter * | filter, | ||
grpc_post_filter_create_init_func | post_init_func, | ||
void * | user_data | ||
) |
Add filter to the stack, after iterator.
Call post_init_func(..., user_data) once the channel stack is created.
bool grpc_channel_stack_builder_add_filter_before | ( | grpc_channel_stack_builder_iterator * | iterator, |
const grpc_channel_filter * | filter, | ||
grpc_post_filter_create_init_func | post_init_func, | ||
void * | user_data | ||
) |
Add filter to the stack, before iterator.
Call post_init_func(..., user_data) once the channel stack is created.
bool grpc_channel_stack_builder_append_filter | ( | grpc_channel_stack_builder * | builder, |
const grpc_channel_filter * | filter, | ||
grpc_post_filter_create_init_func | post_init_func, | ||
void * | user_data | ||
) |
Add filter to the end of the filter list.
Call post_init_func(..., user_data) once the channel stack is created.
grpc_channel_stack_builder* grpc_channel_stack_builder_create | ( | void | ) |
Create a new channel stack builder.
grpc_channel_stack_builder_iterator* grpc_channel_stack_builder_create_iterator_at_first | ( | grpc_channel_stack_builder * | builder | ) |
Begin iterating over already defined filters in the builder at the beginning.
grpc_channel_stack_builder_iterator* grpc_channel_stack_builder_create_iterator_at_last | ( | grpc_channel_stack_builder * | builder | ) |
Begin iterating over already defined filters in the builder at the end.
void grpc_channel_stack_builder_destroy | ( | grpc_channel_stack_builder * | builder | ) |
Destroy the builder without creating a channel stack.
grpc_error* grpc_channel_stack_builder_finish | ( | grpc_channel_stack_builder * | builder, |
size_t | prefix_bytes, | ||
int | initial_refs, | ||
grpc_iomgr_cb_func | destroy, | ||
void * | destroy_arg, | ||
void ** | result | ||
) |
Destroy the builder, return the freshly minted channel stack in result.
Allocates prefix_bytes bytes before the channel stack Returns the base pointer of the allocated block initial_refs, destroy, destroy_arg are as per grpc_channel_stack_init
const grpc_channel_args* grpc_channel_stack_builder_get_channel_arguments | ( | grpc_channel_stack_builder * | builder | ) |
Return a borrowed pointer to the channel arguments.
grpc_resource_user* grpc_channel_stack_builder_get_resource_user | ( | grpc_channel_stack_builder * | builder | ) |
Fetch attached resource user.
const char* grpc_channel_stack_builder_get_target | ( | grpc_channel_stack_builder * | b | ) |
grpc_transport* grpc_channel_stack_builder_get_transport | ( | grpc_channel_stack_builder * | builder | ) |
Fetch attached transport.
void grpc_channel_stack_builder_iterator_destroy | ( | grpc_channel_stack_builder_iterator * | iterator | ) |
Terminate iteration and destroy iterator.
const char* grpc_channel_stack_builder_iterator_filter_name | ( | grpc_channel_stack_builder_iterator * | iterator | ) |
What is the name of the filter at this iterator position?
grpc_channel_stack_builder_iterator* grpc_channel_stack_builder_iterator_find | ( | grpc_channel_stack_builder * | builder, |
const char * | filter_name | ||
) |
Return an iterator at filter_name, or at the end of the list if not found.
bool grpc_channel_stack_builder_iterator_is_end | ( | grpc_channel_stack_builder_iterator * | iterator | ) |
Is an iterator at the end?
bool grpc_channel_stack_builder_iterator_is_first | ( | grpc_channel_stack_builder_iterator * | iterator | ) |
Is an iterator at the first element?
bool grpc_channel_stack_builder_move_next | ( | grpc_channel_stack_builder_iterator * | iterator | ) |
Move an iterator to the next item.
bool grpc_channel_stack_builder_move_prev | ( | grpc_channel_stack_builder_iterator * | iterator | ) |
Move an iterator to the previous item.
bool grpc_channel_stack_builder_prepend_filter | ( | grpc_channel_stack_builder * | builder, |
const grpc_channel_filter * | filter, | ||
grpc_post_filter_create_init_func | post_init_func, | ||
void * | user_data | ||
) |
Add filter to the beginning of the filter list.
Call post_init_func(..., user_data) once the channel stack is created.
bool grpc_channel_stack_builder_remove_filter | ( | grpc_channel_stack_builder * | builder, |
const char * | filter_name | ||
) |
Remove any filter whose name is filter_name from builder.
Returns true if filter_name was not found.
void grpc_channel_stack_builder_set_channel_arguments | ( | grpc_channel_stack_builder * | builder, |
const grpc_channel_args * | args | ||
) |
Set channel arguments: copies args.
void grpc_channel_stack_builder_set_name | ( | grpc_channel_stack_builder * | builder, |
const char * | name | ||
) |
Assign a name to the channel stack: name must be statically allocated.
void grpc_channel_stack_builder_set_resource_user | ( | grpc_channel_stack_builder * | builder, |
grpc_resource_user * | resource_user | ||
) |
Attach resource_user to the builder (does not take ownership)
void grpc_channel_stack_builder_set_target | ( | grpc_channel_stack_builder * | b, |
const char * | target | ||
) |
Set the target uri.
void grpc_channel_stack_builder_set_transport | ( | grpc_channel_stack_builder * | builder, |
grpc_transport * | transport | ||
) |
Attach transport to the builder (does not take ownership)