Once a pool is created, it needs to be configured. A call to get_config
returns the current configuration structure from the pool. With
config_set_params and config_set_allocator the
bufferpool parameters and allocator can be configured. Other properties can be configured in the pool depending on the pool
implementation.
A bufferpool can have extra options that can be enabled with
config_add_option. The available options can be retrieved with
get_options. Some options allow for additional configuration properties to be set.
After the configuration structure has been configured, set_config
updates the configuration in the pool. This can fail when the configuration structure is not accepted.
After the pool has been configured, it can be activated with set_active. This
will preallocate the configured resources in the pool.
When the pool is active, acquire_buffer can be used to retrieve a
buffer from the pool.
Buffers allocated from a bufferpool will automatically be returned to the pool with
release_buffer when their refcount drops to 0.
The bufferpool can be deactivated again with set_active. All further
acquire_buffer calls will return an error. When all buffers are
returned to the pool they will be freed.