<p>There are a variety of functions and macros for traversing and
manipulating bucket brigades; see the <ahref="http://apr.apache.org/docs/apr-util/trunk/group___a_p_r___util___bucket___brigades.html">apr_bucket.h</a>
header for complete coverage. Commonly used macros include:
header for complete coverage. Commonly used macros include:</p>
<dl>
<dt><code>APR_BRIGADE_FIRST(bb)</code></dt>
@@ -160,7 +167,7 @@
<dt><code>APR_BUCKET_PREV(e)</code></dt>
<dd>gives the bucket before bucket e</dd>
</dl></p>
</dl>
<p>The <code>apr_bucket_brigade</code> structure itself is
allocated out of a pool, so if a filter creates a new brigade, it
@@ -194,7 +201,7 @@
<p>When dealing with non-metadata buckets, it is important to
understand that the "<code>apr_bucket *</code>" object is an
abstract <em>representation</em> of data:
abstract <em>representation</em> of data:</p>
<ol>
<li>The amount of data represented by the bucket may or may not
@@ -209,7 +216,7 @@
represents data stored in a file on disk.</li>
</ol>
Filters read the data from a bucket using the
<p>Filters read the data from a bucket using the
<code>apr_bucket_read</code> function. When this function is
invoked, the bucket may <em>morph</em> into a different bucket
type, and may also insert a new bucket into the bucket brigade.
@@ -220,7 +227,7 @@
single <code>FILE</code> bucket representing an entire file, 24