dgaudet     99/06/20 12:34:29

  Modified:    mpm/src/include ap_buf.h
               mpm/src/ap ap_buf.c
  Log:
  some other stuff left over from hacking zero-copy
  
  Revision  Changes    Path
  1.2       +4 -0      apache-2.0/mpm/src/include/ap_buf.h
  
  Index: ap_buf.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/mpm/src/include/ap_buf.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ap_buf.h  1999/06/19 20:42:01     1.1
  +++ ap_buf.h  1999/06/20 19:34:28     1.2
  @@ -73,6 +73,7 @@
   struct ap_buf {
       ap_bufel *head;
       ap_bufel **tail;
  +    unsigned size;
   };
   
   /* allocate a bufel */
  @@ -93,5 +94,8 @@
   
   /* create an iovec of the elements in buf... return number of elements used 
*/
   API_EXPORT(int) ap_buf_to_iovec(ap_buf *, struct iovec *vec, int nvec);
  +
  +/* catenate buf b onto buf a, buf b is empty after this */
  +API_EXPORT(void) ap_buf_catenate(ap_buf *a, ap_buf *b);
   
   #endif
  
  
  
  1.2       +15 -0     apache-2.0/mpm/src/ap/ap_buf.c
  
  Index: ap_buf.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/mpm/src/ap/ap_buf.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ap_buf.c  1999/06/19 20:42:00     1.1
  +++ ap_buf.c  1999/06/20 19:34:29     1.2
  @@ -76,12 +76,14 @@
   {
       b->head = NULL;
       b->tail = &b->head;
  +    b->size = 0;
   }
   
   API_EXPORT(void) ap_buf_append(ap_buf *b, ap_bufel *e)
   {
       e->next = *b->tail;
       b->tail = &e->next;
  +    b->size += e->end - e->start;
   }
   
   API_EXPORT(void) ap_buf_consume(ap_buf *b, int nbytes)
  @@ -90,6 +92,7 @@
       ap_bufel *n;
       int amt;
   
  +    b->size -= nbytes;
       e = b->head;
       while (e && nbytes) {
        amt = e->end - e->start;
  @@ -123,4 +126,16 @@
        ++vec;
       }
       return vec - orig;
  +}
  +
  +API_EXPORT(void) ap_buf_catenate(ap_buf *a, ap_buf *b)
  +{
  +    if (b->head) {
  +     *a->tail = b->head;
  +     a->tail = b->tail;
  +     b->head = NULL;
  +     b->tail = &b->head;
  +     a->size += b->size;
  +     b->size = 0;
  +    }
   }
  
  
  

Reply via email to