Author: rhuijben
Date: Sun Nov  1 14:56:57 2015
New Revision: 1711794

URL: http://svn.apache.org/viewvc?rev=1711794&view=rev
Log:
Implement get_remaining support on the standard iovec bucket.

* buckets/iovec_buckets.c
  (serf_iovec_get_remaining): New function.
  (serf_bucket_type_iovec): Implement as v2 bucket and handle get_remaining.

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=1711794&r1=1711793&r2=1711794&view=diff
==============================================================================
--- serf/trunk/buckets/iovec_buckets.c (original)
+++ serf/trunk/buckets/iovec_buckets.c Sun Nov  1 14:56:57 2015
@@ -155,6 +155,19 @@ static apr_status_t serf_iovec_peek(serf
     return APR_SUCCESS;
 }
 
+static apr_uint64_t serf_iovec_get_remaining(serf_bucket_t *bucket)
+{
+    iovec_context_t *ctx = bucket->data;
+    apr_uint64_t total = 0;
+    int i;
+
+    for (i = ctx->current_vec; i < ctx->vecs_len; i++)
+      {
+        total += ctx->vecs[i].iov_len;
+      }
+
+    return total;
+}
 
 const serf_bucket_type_t serf_bucket_type_iovec = {
     "IOVEC",
@@ -162,7 +175,10 @@ const serf_bucket_type_t serf_bucket_typ
     serf_iovec_readline,
     serf_iovec_read_iovec,
     serf_default_read_for_sendfile,
-    serf_default_read_bucket,
+    serf_buckets_are_v2,
     serf_iovec_peek,
     serf_default_destroy_and_data,
+    serf_default_read_bucket,
+    serf_iovec_get_remaining,
+    serf_default_ignore_config
 };


Reply via email to