pb_slab_range_manager Struct Reference

Wrapper around several slabs, therefore capable of handling buffers of multiple sizes. More...

Collaboration diagram for pb_slab_range_manager:

Collaboration graph
[legend]

Data Fields

struct pb_manager base
struct pb_managerprovider
size_t minBufSize
size_t maxBufSize
struct pb_desc desc
 
See also:
pb_slab_manager::desc

unsigned numBuckets
size_t * bucketSizes
struct pb_manager ** buckets
 Array of pb_slab_manager, one for each bucket size.

Detailed Description

Wrapper around several slabs, therefore capable of handling buffers of multiple sizes.

This buffer manager just dispatches buffer allocations to the appropriate slab manager, according to the requested buffer size, or by passes the slab managers altogether for even greater sizes.

The data of this structure remains constant after initialization and thus needs no mutex protection.

Definition at line 147 of file pb_bufmgr_slab.c.


Field Documentation

struct pb_manager pb_slab_range_manager::base [read]

Definition at line 149 of file pb_bufmgr_slab.c.

struct pb_manager* pb_slab_range_manager::provider [read]

Definition at line 151 of file pb_bufmgr_slab.c.

size_t pb_slab_range_manager::minBufSize

Definition at line 153 of file pb_bufmgr_slab.c.

size_t pb_slab_range_manager::maxBufSize

Definition at line 154 of file pb_bufmgr_slab.c.

struct pb_desc pb_slab_range_manager::desc [read]

See also:
pb_slab_manager::desc

Definition at line 157 of file pb_bufmgr_slab.c.

unsigned pb_slab_range_manager::numBuckets

Definition at line 159 of file pb_bufmgr_slab.c.

size_t* pb_slab_range_manager::bucketSizes

Definition at line 160 of file pb_bufmgr_slab.c.

struct pb_manager** pb_slab_range_manager::buckets [read]

Array of pb_slab_manager, one for each bucket size.

Definition at line 163 of file pb_bufmgr_slab.c.


The documentation for this struct was generated from the following file:
Generated on Tue Sep 29 06:26:03 2009 for Gallium3D by  doxygen 1.5.4