19 #ifndef GRPC_CORE_LIB_IOMGR_RESOURCE_QUOTA_H
20 #define GRPC_CORE_LIB_IOMGR_RESOURCE_QUOTA_H
void(* grpc_iomgr_cb_func)(void *arg, grpc_error_handle error)
gRPC Callback definition.
Definition: closure.h:53
bool grpc_resource_user_safe_alloc(grpc_resource_user *resource_user, size_t size)
Definition: resource_quota.cc:912
grpc_resource_quota * grpc_resource_quota_from_channel_args(const grpc_channel_args *channel_args, bool create=true)
Definition: resource_quota.cc:741
void grpc_resource_user_post_reclaimer(grpc_resource_user *resource_user, bool destructive, grpc_closure *closure)
Definition: resource_quota.cc:969
bool grpc_resource_user_alloc(grpc_resource_user *resource_user, size_t size, grpc_closure *optional_on_done) GRPC_MUST_USE_RESULT
Definition: resource_quota.cc:933
size_t grpc_resource_quota_peek_size(grpc_resource_quota *resource_quota)
Definition: resource_quota.cc:732
grpc_core::TraceFlag grpc_resource_quota_trace
void grpc_resource_user_free(grpc_resource_user *resource_user, size_t size)
Definition: resource_quota.cc:946
void grpc_resource_user_shutdown(grpc_resource_user *resource_user)
Definition: resource_quota.cc:845
grpc_resource_user * grpc_resource_user_create(grpc_resource_quota *resource_quota, const char *name)
Definition: resource_quota.cc:777
void grpc_resource_user_unref(grpc_resource_user *resource_user)
Definition: resource_quota.cc:841
void grpc_resource_user_ref(grpc_resource_user *resource_user)
Definition: resource_quota.cc:837
double grpc_resource_quota_get_memory_pressure(grpc_resource_quota *resource_quota)
Definition: resource_quota.cc:703
bool grpc_resource_user_alloc_slices(grpc_resource_user_slice_allocator *slice_allocator, size_t length, size_t count, grpc_slice_buffer *dest) GRPC_MUST_USE_RESULT
Definition: resource_quota.cc:999
grpc_resource_quota * grpc_resource_user_quota(grpc_resource_user *resource_user)
Definition: resource_quota.cc:817
void grpc_resource_quota_unref_internal(grpc_resource_quota *resource_quota)
Definition: resource_quota.cc:676
bool grpc_resource_user_allocate_threads(grpc_resource_user *resource_user, int thread_count)
Definition: resource_quota.cc:853
void grpc_resource_user_slice_allocator_init(grpc_resource_user_slice_allocator *slice_allocator, grpc_resource_user *resource_user, grpc_iomgr_cb_func cb, void *p)
Definition: resource_quota.cc:989
void grpc_resource_user_finish_reclamation(grpc_resource_user *resource_user)
Definition: resource_quota.cc:978
grpc_resource_quota * grpc_resource_quota_ref_internal(grpc_resource_quota *resource_quota)
Definition: resource_quota.cc:692
void grpc_resource_user_free_threads(grpc_resource_user *resource_user, int thread_count)
Definition: resource_quota.cc:869
constexpr size_t GRPC_RESOURCE_QUOTA_CHANNEL_SIZE
Definition: resource_quota.h:71
constexpr size_t GRPC_RESOURCE_QUOTA_CALL_SIZE
Definition: resource_quota.h:70
struct grpc_resource_user_slice_allocator grpc_resource_user_slice_allocator
grpc_closure closure
Definition: server.cc:460
An array of arguments that can be passed around.
Definition: grpc_types.h:132
A closure over a grpc_iomgr_cb_func.
Definition: closure.h:56
Definition: resource_quota.cc:127
Definition: resource_quota.h:148
grpc_slice_buffer * dest
Definition: resource_quota.h:158
grpc_resource_user * resource_user
Definition: resource_quota.h:160
grpc_closure on_done
Definition: resource_quota.h:152
size_t length
Definition: resource_quota.h:154
grpc_closure on_allocated
Definition: resource_quota.h:150
size_t count
Definition: resource_quota.h:156
Definition: resource_quota.cc:65
grpc_resource_quota * resource_quota
Definition: resource_quota.cc:67
std::string name
Definition: resource_quota.cc:124
Represents an expandable array of slices, to be interpreted as a single item.
Definition: slice.h:78