19 #ifndef GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_BUILDER_H 20 #define GRPC_CORE_LIB_CHANNEL_CHANNEL_STACK_BUILDER_H Definition: channel_stack.h:99
grpc_channel_stack_builder * builder
Definition: channel_stack_builder.cc:49
Definition: channel_stack.h:175
grpc_channel_stack_builder * grpc_channel_stack_builder_create(void)
Create a new channel stack builder.
Definition: channel_stack_builder.cc:53
const char * grpc_channel_stack_builder_get_target(grpc_channel_stack_builder *b)
Definition: channel_stack_builder.cc:73
An array of arguments that can be passed around.
Definition: grpc_types.h:132
Definition: error_internal.h:39
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) GRPC_MUST_USE_RESULT
Add filter to the stack, after iterator.
Definition: channel_stack_builder.cc:247
const grpc_channel_args * grpc_channel_stack_builder_get_channel_arguments(grpc_channel_stack_builder *builder)
Return a borrowed pointer to the channel arguments.
Definition: channel_stack_builder.cc:161
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.
Definition: channel_stack_builder.cc:100
bool grpc_channel_stack_builder_iterator_is_end(grpc_channel_stack_builder_iterator *iterator)
Is an iterator at the end?
Definition: channel_stack_builder.cc:105
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.
Definition: channel_stack_builder.cc:130
bool grpc_channel_stack_builder_move_next(grpc_channel_stack_builder_iterator *iterator)
Move an iterator to the next item.
Definition: channel_stack_builder.cc:116
void grpc_channel_stack_builder_destroy(grpc_channel_stack_builder *builder)
Destroy the builder without creating a channel stack.
Definition: channel_stack_builder.cc:256
grpc_transport * grpc_channel_stack_builder_get_transport(grpc_channel_stack_builder *builder)
Fetch attached transport.
Definition: channel_stack_builder.cc:172
Definition: channel_stack_builder.cc:36
Definition: resource_quota.cc:63
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) GRPC_MUST_USE_RESULT
Add filter to the beginning of the filter list.
Definition: channel_stack_builder.cc:214
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)
Definition: channel_stack_builder.cc:177
void grpc_channel_stack_builder_set_channel_arguments(grpc_channel_stack_builder *builder, const grpc_channel_args *args)
Set channel arguments: copies args.
Definition: channel_stack_builder.cc:153
void grpc_channel_stack_builder_set_transport(grpc_channel_stack_builder *builder, grpc_transport *transport)
Attach transport to the builder (does not take ownership)
Definition: channel_stack_builder.cc:166
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.
Definition: channel_stack_builder.cc:270
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_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) GRPC_MUST_USE_RESULT
Add filter to the stack, before iterator.
Definition: channel_stack_builder.cc:238
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.
Definition: channel_stack_builder.cc:147
void(* grpc_post_filter_create_init_func)(grpc_channel_stack *channel_stack, grpc_channel_element *elem, void *arg)
Definition: channel_stack_builder.h:108
void grpc_channel_stack_builder_iterator_destroy(grpc_channel_stack_builder_iterator *iterator)
Terminate iteration and destroy iterator.
Definition: channel_stack_builder.cc:88
Definition: channel_stack.h:159
void(* grpc_iomgr_cb_func)(void *arg, grpc_error *error)
gRPC Callback definition.
Definition: closure.h:53
void grpc_channel_stack_builder_set_target(grpc_channel_stack_builder *b, const char *target)
Set the target uri.
Definition: channel_stack_builder.cc:67
Definition: channel_stack_builder.cc:48
Definition: transport_impl.h:66
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) GRPC_MUST_USE_RESULT
Add filter to the end of the filter list.
Definition: channel_stack_builder.cc:188
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?
Definition: channel_stack_builder.cc:110
grpc_resource_user * grpc_channel_stack_builder_get_resource_user(grpc_channel_stack_builder *builder)
Fetch attached resource user.
Definition: channel_stack_builder.cc:183
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.
Definition: channel_stack_builder.cc:94
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.
Definition: channel_stack_builder.cc:199
bool grpc_channel_stack_builder_move_prev(grpc_channel_stack_builder_iterator *iterator)
Move an iterator to the previous item.
Definition: channel_stack_builder.cc:123
grpc_call_element * elem
Definition: client_channel.cc:112