Author: gstein
Date: Wed Nov 11 23:12:08 2015
New Revision: 1713948

URL: http://svn.apache.org/viewvc?rev=1713948&view=rev
Log:
Leave some notes for future work/improvements.

* buckets/iovec_buckets.c:
  (serf_bucket_iovec_create): note: skip a vec if it is zero length
  (serf_iovec_read_iovec): note: skip producing zero len vecs
  (serf_iovec_peek): note: avoid returning zero len data

Modified:
    serf/trunk/buckets/iovec_buckets.c

Modified: serf/trunk/buckets/iovec_buckets.c
URL: 
http://svn.apache.org/viewvc/serf/trunk/buckets/iovec_buckets.c?rev=1713948&r1=1713947&r2=1713948&view=diff
==============================================================================
--- serf/trunk/buckets/iovec_buckets.c (original)
+++ serf/trunk/buckets/iovec_buckets.c Wed Nov 11 23:12:08 2015
@@ -53,6 +53,7 @@ serf_bucket_t *serf_bucket_iovec_create(
 
     /* copy all buffers to our iovec. */
     for (i = 0; i < len; i++) {
+        /* ### skip if iov_len == 0. (and adjust ->vecs_len)  */
         ctx->vecs[i].iov_base = vecs[i].iov_base;
         ctx->vecs[i].iov_len = vecs[i].iov_len;
     }
@@ -80,6 +81,7 @@ static apr_status_t serf_iovec_read_iove
         if (*vecs_used >= vecs_size)
             break;
 
+        /* ### skip returning a vec, if its iov_len will be 0.  */
         vecs[*vecs_used].iov_base = (char*)vec.iov_base + ctx->offset;
         remaining = vec.iov_len - ctx->offset;
 
@@ -139,6 +141,7 @@ static apr_status_t serf_iovec_peek(serf
 
     /* Return the first unread buffer, don't bother combining all
        remaining data. */
+    /* ### skip current_vec if iov_len will be 0.  */
     *data = (const char *)ctx->vecs[ctx->current_vec].iov_base + ctx->offset;
     *len = ctx->vecs[ctx->current_vec].iov_len - ctx->offset;
 


Reply via email to