19 #ifndef GRPC_CORE_LIB_IOMGR_RESOURCE_QUOTA_H 20 #define GRPC_CORE_LIB_IOMGR_RESOURCE_QUOTA_H grpc_core::TraceFlag grpc_resource_quota_trace
size_t length
Definition: resource_quota.h:154
grpc_closure on_allocated
Definition: resource_quota.h:150
An array of arguments that can be passed around.
Definition: grpc_types.h:132
void grpc_resource_user_free(grpc_resource_user *resource_user, size_t size)
grpc_resource_user * resource_user
Definition: resource_quota.h:160
void grpc_resource_user_post_reclaimer(grpc_resource_user *resource_user, bool destructive, grpc_closure *closure)
size_t count
Definition: resource_quota.h:156
void grpc_resource_quota_unref_internal(grpc_resource_quota *resource_quota)
constexpr size_t GRPC_RESOURCE_QUOTA_CHANNEL_SIZE
Definition: resource_quota.h:71
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)
double grpc_resource_quota_get_memory_pressure(grpc_resource_quota *resource_quota)
Represents an expandable array of slices, to be interpreted as a single item.
Definition: slice.h:78
bool grpc_resource_user_alloc(grpc_resource_user *resource_user, size_t size, grpc_closure *optional_on_done) GRPC_MUST_USE_RESULT
struct grpc_resource_user grpc_resource_user
Definition: resource_quota.h:87
grpc_resource_quota * grpc_resource_user_quota(grpc_resource_user *resource_user)
bool grpc_resource_user_allocate_threads(grpc_resource_user *resource_user, int thread_count)
Definition: resource_quota.h:148
void grpc_resource_user_unref(grpc_resource_user *resource_user)
void grpc_resource_user_free_threads(grpc_resource_user *resource_user, int thread_count)
size_t grpc_resource_quota_peek_size(grpc_resource_quota *resource_quota)
void grpc_resource_user_finish_reclamation(grpc_resource_user *resource_user)
grpc_resource_user * grpc_resource_user_create(grpc_resource_quota *resource_quota, const char *name)
A closure over a grpc_iomgr_cb_func.
Definition: closure.h:56
void grpc_resource_user_shutdown(grpc_resource_user *resource_user)
void grpc_resource_user_ref(grpc_resource_user *resource_user)
struct grpc_resource_quota grpc_resource_quota
Definition: grpc_types.h:677
void(* grpc_iomgr_cb_func)(void *arg, grpc_error *error)
gRPC Callback definition.
Definition: closure.h:53
grpc_closure on_done
Definition: resource_quota.h:152
struct grpc_resource_user_slice_allocator grpc_resource_user_slice_allocator
grpc_resource_quota * grpc_resource_quota_from_channel_args(const grpc_channel_args *channel_args, bool create=true)
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
constexpr size_t GRPC_RESOURCE_QUOTA_CALL_SIZE
Definition: resource_quota.h:70
bool grpc_resource_user_safe_alloc(grpc_resource_user *resource_user, size_t size)
grpc_slice_buffer * dest
Definition: resource_quota.h:158
grpc_resource_quota * grpc_resource_quota_ref_internal(grpc_resource_quota *resource_quota)