Author: rhuijben
Date: Fri Nov 27 11:59:30 2015
New Revision: 1716855
URL: http://svn.apache.org/viewvc?rev=1716855&view=rev
Log:
Remove more magic iovec constants, by using our new define in serf_private.h.
(without actually affecting the code on all known platforms)
* buckets/chunk_buckets.c
(includes): Add serf_private.h.
(create_chunk): Create a standard number of buckets, but never more than
APR_MAX_IOVEC_SIZE.
* buckets/ssl_buckets.c
(ssl_encrypt): Use standard number of buckets.
Modified:
serf/trunk/buckets/chunk_buckets.c
serf/trunk/buckets/ssl_buckets.c
Modified: serf/trunk/buckets/chunk_buckets.c
URL:
http://svn.apache.org/viewvc/serf/trunk/buckets/chunk_buckets.c?rev=1716855&r1=1716854&r2=1716855&view=diff
==============================================================================
--- serf/trunk/buckets/chunk_buckets.c (original)
+++ serf/trunk/buckets/chunk_buckets.c Fri Nov 27 11:59:30 2015
@@ -23,6 +23,7 @@
#include "serf.h"
#include "serf_bucket_util.h"
+#include "serf_private.h"
typedef struct chunk_context_t {
@@ -65,7 +66,8 @@ static apr_status_t create_chunk(serf_bu
serf_bucket_t *simple_bkt;
apr_size_t chunk_len;
apr_size_t stream_len;
- struct iovec vecs[66]; /* 64 + chunk trailer + EOF trailer = 66 */
+ /* 64 + chunk trailer + EOF trailer = 66 */
+ struct iovec vecs[MIN(APR_MAX_IOVEC_SIZE, SERF__STD_IOV_COUNT + 2)];
int vecs_read;
int i;
@@ -75,7 +77,7 @@ static apr_status_t create_chunk(serf_bu
ctx->last_status =
serf_bucket_read_iovec(ctx->stream, SERF_READ_ALL_AVAIL,
- 64, vecs, &vecs_read);
+ COUNT_OF(vecs) - 2, vecs, &vecs_read);
if (SERF_BUCKET_READ_ERROR(ctx->last_status)) {
/* Uh-oh. */
Modified: serf/trunk/buckets/ssl_buckets.c
URL:
http://svn.apache.org/viewvc/serf/trunk/buckets/ssl_buckets.c?rev=1716855&r1=1716854&r2=1716855&view=diff
==============================================================================
--- serf/trunk/buckets/ssl_buckets.c (original)
+++ serf/trunk/buckets/ssl_buckets.c Fri Nov 27 11:59:30 2015
@@ -1097,11 +1097,12 @@ static apr_status_t ssl_encrypt(void *ba
apr_size_t interim_len;
if (!ctx->want_read) {
- struct iovec vecs[64];
+ struct iovec vecs[SERF__STD_IOV_COUNT];
int vecs_read;
status = serf_bucket_read_iovec(ctx->encrypt.stream,
- interim_bufsize, 64, vecs,
+ interim_bufsize,
+ COUNT_OF(vecs), vecs,
&vecs_read);
if (!SERF_BUCKET_READ_ERROR(status) && vecs_read) {
@@ -1185,12 +1186,12 @@ static apr_status_t ssl_encrypt(void *ba
/* Okay, we exhausted our underlying stream. */
if (!SERF_BUCKET_READ_ERROR(status)) {
apr_status_t agg_status;
- struct iovec vecs[64];
+ struct iovec vecs[SERF__STD_IOV_COUNT];
int vecs_read, i;
/* We read something! */
agg_status = serf_bucket_read_iovec(ctx->encrypt_pending, bufsize,
- 64, vecs, &vecs_read);
+ COUNT_OF(vecs), vecs, &vecs_read);
*len = 0;
for (i = 0; i < vecs_read; i++) {
memcpy(buf + *len, vecs[i].iov_base, vecs[i].iov_len);