=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