OpenMPI  0.1.1
bufferevent_rate_limit_group Struct Reference

Public Member Functions

 TAILQ_HEAD (rlim_group_member_list, bufferevent_private) members
 List of all members in the group.
 

Data Fields

struct ev_token_bucket rate_limit
 Current limits for the group. More...
 
struct ev_token_bucket_cfg rate_limit_cfg
 
unsigned read_suspended: 1
 True iff we don't want to read from any member of the group.until the token bucket refills. More...
 
unsigned write_suspended: 1
 True iff we don't want to write from any member of the group.until the token bucket refills. More...
 
unsigned pending_unsuspend_read: 1
 True iff we were unable to suspend one of the bufferevents in the group for reading the last time we tried, and we should try again. More...
 
unsigned pending_unsuspend_write: 1
 True iff we were unable to suspend one of the bufferevents in the group for writing the last time we tried, and we should try again. More...
 
int n_members
 The number of bufferevents in the group. More...
 
ev_ssize_t min_share
 The smallest number of bytes that any member of the group should be limited to read or write at a time. More...
 
struct event master_refill_event
 Timeout event that goes off once a tick, when the bucket is ready to refill. More...
 
void * lock
 Lock to protect the members of this group. More...
 
ev_uint64_t total_read
 Total number of bytes read or written in this group since last reset. More...
 
ev_uint64_t total_written
 

Field Documentation

void* bufferevent_rate_limit_group::lock

Lock to protect the members of this group.

This lock should nest within every bufferevent lock: if you are holding this lock, do not assume you can lock another bufferevent.

Referenced by bufferevent_rate_limit_group_free(), and bufferevent_rate_limit_group_new().

struct event bufferevent_rate_limit_group::master_refill_event

Timeout event that goes off once a tick, when the bucket is ready to refill.

Referenced by bufferevent_rate_limit_group_free(), bufferevent_rate_limit_group_new(), and bufferevent_rate_limit_group_set_cfg().

ev_ssize_t bufferevent_rate_limit_group::min_share

The smallest number of bytes that any member of the group should be limited to read or write at a time.

Referenced by bufferevent_rate_limit_group_new(), and bufferevent_rate_limit_group_set_min_share().

int bufferevent_rate_limit_group::n_members

The number of bufferevents in the group.

Referenced by bufferevent_add_to_rate_limit_group(), and bufferevent_rate_limit_group_free().

unsigned bufferevent_rate_limit_group::pending_unsuspend_read

True iff we were unable to suspend one of the bufferevents in the group for reading the last time we tried, and we should try again.

unsigned bufferevent_rate_limit_group::pending_unsuspend_write

True iff we were unable to suspend one of the bufferevents in the group for writing the last time we tried, and we should try again.

struct ev_token_bucket bufferevent_rate_limit_group::rate_limit

Current limits for the group.

Referenced by bufferevent_rate_limit_group_new(), and bufferevent_rate_limit_group_set_cfg().

unsigned bufferevent_rate_limit_group::read_suspended

True iff we don't want to read from any member of the group.until the token bucket refills.

Referenced by bufferevent_add_to_rate_limit_group().

ev_uint64_t bufferevent_rate_limit_group::total_read

Total number of bytes read or written in this group since last reset.

Referenced by bufferevent_rate_limit_group_get_totals(), and bufferevent_rate_limit_group_reset_totals().

unsigned bufferevent_rate_limit_group::write_suspended

True iff we don't want to write from any member of the group.until the token bucket refills.

Referenced by bufferevent_add_to_rate_limit_group().


The documentation for this struct was generated from the following file: