—=head1 NAME
APR::BucketAlloc - Perl API for Bucket Allocation
=head1 Synopsis
use APR::BucketAlloc ();
$ba = APR::BucketAlloc->new($pool);
$ba->destroy;
=head1 Description
C<APR::BucketAlloc> is used for bucket allocation.
=head2 C<new>
Create an C<APR::BucketAlloc> object:
$ba = APR::BucketAlloc->new($pool);
=over 4
=item class: C<APR::BucketAlloc>
=item arg1: C<$pool>
( C<L<APR::Pool object|docs::2.0::api::APR::Pool>> )
The pool used to create this object.
=item ret: C<$ba>
( C<L<APR::BucketAlloc object|docs::2.0::api::APR::BucketAlloc>> )
The new object.
=item since: 2.0.00
=back
This bucket allocation list (freelist) is used to create new buckets
(via C<L<APR::Bucket-E<gt>new|docs::2.0::api::APR::Bucket/C_new_>>)
and bucket brigades (via
C<L<APR::Brigade-E<gt>new|docs::2.0::api::APR::Brigade/C_new_>>).
You only need to use this method if you aren't running under httpd.
If you are running under mod_perl, you already have a bucket
allocation available via
C<L<$c-E<gt>bucket_alloc|docs::2.0::api::Apache2::Connection/C_bucket_alloc_>>
and
C<L<$bb-E<gt>bucket_alloc|docs::2.0::api::APR::Brigade/C_bucket_alloc_>>.
Example:
use APR::BucketAlloc ();
use APR::Pool ();
my $ba = APR::BucketAlloc->(APR::Pool->pool);
my $eos_b = APR::Bucket::eos_create($ba);
=head2 C<destroy>
Destroy an C<L<APR::BucketAlloc
object|docs::2.0::api::APR::BucketAlloc>>:
$ba->destroy;
=over 4
=item arg1: C<$ba>
( C<L<APR::BucketAlloc object|docs::2.0::api::APR::BucketAlloc>> )
The freelist to destroy.
=item ret: no return value
=item since: 2.0.00
=back
Once destroyed this object may not be used again.
You need to destroy C<$ba> B<only> if you have created it via
C<L<APR::BucketAlloc-E<gt>new|/C_new_>>. If you try to destroy an
allocation not created by this method, you will get a segmentation
fault.
Moreover normally it is not necessary to destroy allocators, since the
pool which created them will destroy them during that pool's cleanup
phase.
=head1 See Also
L<mod_perl 2.0 documentation|docs::2.0::index>.
=head1 Copyright
mod_perl 2.0 and its core modules are copyrighted under
The Apache Software License, Version 2.0.
=head1 Authors
L<The mod_perl development team and numerous
contributors|about::contributors::people>.
=cut