stas        2003/11/25 23:56:45

  Modified:    src/docs/2.0/user/handlers intro.pod
  Log:
  move the bucket brigades stuff to the end, as it doesn't quite fit where
  it was now
  
  Revision  Changes    Path
  1.15      +56 -63    modperl-docs/src/docs/2.0/user/handlers/intro.pod
  
  Index: intro.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/user/handlers/intro.pod,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -u -r1.14 -r1.15
  --- intro.pod 26 Nov 2003 07:55:48 -0000      1.14
  +++ intro.pod 26 Nov 2003 07:56:45 -0000      1.15
  @@ -213,69 +213,6 @@
   
   
   
  -=head1 Bucket Brigades
  -
  -Apache 2.0 allows multiple modules to filter both the request and the
  -response. Now one module can pipe its output as an input to another
  -module as if another module was receiving the data directly from the
  -TCP stream. The same mechanism works with the generated response.
  -
  -With I/O filtering in place, simple filters, like data compression and
  -decompression, can be easily implemented and complex filters, like
  -SSL, are now possible without needing to modify the the server code
  -which was the case with Apache 1.3.
  -
  -In order to make the filtering mechanism efficient and avoid
  -unnecessary copying, while keeping the data abstracted, the I<Bucket
  -Brigades> technology was introduced. It's also used in L<protocol
  -handlers|docs::2.0::user::handlers::protocols>.
  -
  -A bucket represents a chunk of data.  Buckets linked together comprise
  -a brigade. Each bucket in a brigade can be modified, removed and
  -replaced with another bucket. The goal is to minimize the data copying
  -where possible.  Buckets come in different types, such as files, data
  -blocks, end of stream indicators, pools, etc. To manipulate a bucket
  -one doesn't need to know its internal representation.
  -
  -The stream of data is represented by bucket brigades.  When a filter
  -is called it gets passed the brigade that was the output of the
  -previous filter. This brigade is then manipulated by the filter (e.g.,
  -by modifying some buckets) and passed to the next filter in the stack.
  -
  -The following figure depicts an imaginary bucket brigade:
  -
  -=for html
  -<img src="bucket_brigades.gif" width="590" height="400" 
  - align="middle" alt="bucket brigades"><br><br>
  -
  -The figure tries to show that after the presented bucket brigade has
  -passed through several filters some buckets were removed, some
  -modified and some added. Of course the handler that gets the brigade
  -cannot tell the history of the brigade, it can only see the existing
  -buckets in the brigade.
  -
  -Bucket brigades are discussed in detail in the L<protocol
  -handlers|docs::2.0::user::handlers::protocols> and L<I/O
  -filtering|docs::2.0::user::handlers::filters> chapters.
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   
   
   
  @@ -399,6 +336,62 @@
   META: more information in mod_example.c talking about
   position/predecessors, etc.
   
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +=head1 Bucket Brigades
  +
  +Apache 2.0 allows multiple modules to filter both the request and the
  +response. Now one module can pipe its output as an input to another
  +module as if another module was receiving the data directly from the
  +TCP stream. The same mechanism works with the generated response.
  +
  +With I/O filtering in place, simple filters, like data compression and
  +decompression, can be easily implemented and complex filters, like
  +SSL, are now possible without needing to modify the the server code
  +which was the case with Apache 1.3.
  +
  +In order to make the filtering mechanism efficient and avoid
  +unnecessary copying, while keeping the data abstracted, the I<Bucket
  +Brigades> technology was introduced. It's also used in L<protocol
  +handlers|docs::2.0::user::handlers::protocols>.
  +
  +A bucket represents a chunk of data.  Buckets linked together comprise
  +a brigade. Each bucket in a brigade can be modified, removed and
  +replaced with another bucket. The goal is to minimize the data copying
  +where possible.  Buckets come in different types, such as files, data
  +blocks, end of stream indicators, pools, etc. To manipulate a bucket
  +one doesn't need to know its internal representation.
  +
  +The stream of data is represented by bucket brigades.  When a filter
  +is called it gets passed the brigade that was the output of the
  +previous filter. This brigade is then manipulated by the filter (e.g.,
  +by modifying some buckets) and passed to the next filter in the stack.
  +
  +The following figure depicts an imaginary bucket brigade:
  +
  +=for html
  +<img src="bucket_brigades.gif" width="590" height="400" 
  + align="middle" alt="bucket brigades"><br><br>
  +
  +The figure tries to show that after the presented bucket brigade has
  +passed through several filters some buckets were removed, some
  +modified and some added. Of course the handler that gets the brigade
  +cannot tell the history of the brigade, it can only see the existing
  +buckets in the brigade.
  +
  +Bucket brigades are discussed in detail in the L<protocol
  +handlers|docs::2.0::user::handlers::protocols> and L<I/O
  +filtering|docs::2.0::user::handlers::filters> chapters.
   
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to