GRPC C++  1.26.0
Data Structures | Typedefs | Functions | Variables
resource_quota.h File Reference
#include <grpc/support/port_platform.h>
#include <grpc/grpc.h>
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/iomgr/closure.h"

Go to the source code of this file.

Data Structures

struct  grpc_resource_user_slice_allocator
 

Typedefs

typedef struct grpc_resource_user grpc_resource_user
 
typedef struct grpc_resource_user_slice_allocator grpc_resource_user_slice_allocator
 

Functions

grpc_resource_quotagrpc_resource_quota_ref_internal (grpc_resource_quota *resource_quota)
 
void grpc_resource_quota_unref_internal (grpc_resource_quota *resource_quota)
 
grpc_resource_quotagrpc_resource_quota_from_channel_args (const grpc_channel_args *channel_args, bool create=true)
 
double grpc_resource_quota_get_memory_pressure (grpc_resource_quota *resource_quota)
 
size_t grpc_resource_quota_peek_size (grpc_resource_quota *resource_quota)
 
grpc_resource_usergrpc_resource_user_create (grpc_resource_quota *resource_quota, const char *name)
 
grpc_resource_quotagrpc_resource_user_quota (grpc_resource_user *resource_user)
 
void grpc_resource_user_ref (grpc_resource_user *resource_user)
 
void grpc_resource_user_unref (grpc_resource_user *resource_user)
 
void grpc_resource_user_shutdown (grpc_resource_user *resource_user)
 
bool grpc_resource_user_allocate_threads (grpc_resource_user *resource_user, int thread_count)
 
void grpc_resource_user_free_threads (grpc_resource_user *resource_user, int thread_count)
 
bool grpc_resource_user_safe_alloc (grpc_resource_user *resource_user, size_t size)
 
bool grpc_resource_user_alloc (grpc_resource_user *resource_user, size_t size, grpc_closure *optional_on_done) GRPC_MUST_USE_RESULT
 
void grpc_resource_user_free (grpc_resource_user *resource_user, size_t size)
 
void grpc_resource_user_post_reclaimer (grpc_resource_user *resource_user, bool destructive, grpc_closure *closure)
 
void grpc_resource_user_finish_reclamation (grpc_resource_user *resource_user)
 
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)
 
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
 

Variables

grpc_core::TraceFlag grpc_resource_quota_trace
 
constexpr size_t GRPC_RESOURCE_QUOTA_CALL_SIZE = 15 * 1024
 
constexpr size_t GRPC_RESOURCE_QUOTA_CHANNEL_SIZE = 50 * 1024
 

Typedef Documentation

◆ grpc_resource_user

◆ grpc_resource_user_slice_allocator

Function Documentation

◆ grpc_resource_quota_from_channel_args()

grpc_resource_quota* grpc_resource_quota_from_channel_args ( const grpc_channel_args channel_args,
bool  create = true 
)

◆ grpc_resource_quota_get_memory_pressure()

double grpc_resource_quota_get_memory_pressure ( grpc_resource_quota resource_quota)

◆ grpc_resource_quota_peek_size()

size_t grpc_resource_quota_peek_size ( grpc_resource_quota resource_quota)

◆ grpc_resource_quota_ref_internal()

grpc_resource_quota* grpc_resource_quota_ref_internal ( grpc_resource_quota resource_quota)

◆ grpc_resource_quota_unref_internal()

void grpc_resource_quota_unref_internal ( grpc_resource_quota resource_quota)

◆ grpc_resource_user_alloc()

bool grpc_resource_user_alloc ( grpc_resource_user resource_user,
size_t  size,
grpc_closure optional_on_done 
)

◆ grpc_resource_user_alloc_slices()

bool grpc_resource_user_alloc_slices ( grpc_resource_user_slice_allocator slice_allocator,
size_t  length,
size_t  count,
grpc_slice_buffer dest 
)

◆ grpc_resource_user_allocate_threads()

bool grpc_resource_user_allocate_threads ( grpc_resource_user resource_user,
int  thread_count 
)

◆ grpc_resource_user_create()

grpc_resource_user* grpc_resource_user_create ( grpc_resource_quota resource_quota,
const char *  name 
)

◆ grpc_resource_user_finish_reclamation()

void grpc_resource_user_finish_reclamation ( grpc_resource_user resource_user)

◆ grpc_resource_user_free()

void grpc_resource_user_free ( grpc_resource_user resource_user,
size_t  size 
)

◆ grpc_resource_user_free_threads()

void grpc_resource_user_free_threads ( grpc_resource_user resource_user,
int  thread_count 
)

◆ grpc_resource_user_post_reclaimer()

void grpc_resource_user_post_reclaimer ( grpc_resource_user resource_user,
bool  destructive,
grpc_closure closure 
)

◆ grpc_resource_user_quota()

grpc_resource_quota* grpc_resource_user_quota ( grpc_resource_user resource_user)

◆ grpc_resource_user_ref()

void grpc_resource_user_ref ( grpc_resource_user resource_user)

◆ grpc_resource_user_safe_alloc()

bool grpc_resource_user_safe_alloc ( grpc_resource_user resource_user,
size_t  size 
)

◆ grpc_resource_user_shutdown()

void grpc_resource_user_shutdown ( grpc_resource_user resource_user)

◆ grpc_resource_user_slice_allocator_init()

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 
)

◆ grpc_resource_user_unref()

void grpc_resource_user_unref ( grpc_resource_user resource_user)

Variable Documentation

◆ GRPC_RESOURCE_QUOTA_CALL_SIZE

constexpr size_t GRPC_RESOURCE_QUOTA_CALL_SIZE = 15 * 1024

◆ GRPC_RESOURCE_QUOTA_CHANNEL_SIZE

constexpr size_t GRPC_RESOURCE_QUOTA_CHANNEL_SIZE = 50 * 1024

◆ grpc_resource_quota_trace

grpc_core::TraceFlag grpc_resource_quota_trace