summaryrefslogtreecommitdiffstats
path: root/modules/http2/h2_bucket_beam.h
diff options
context:
space:
mode:
authorStefan Eissing <icing@apache.org>2016-04-28 13:39:57 +0200
committerStefan Eissing <icing@apache.org>2016-04-28 13:39:57 +0200
commit72c763aa7a6c1d14cf51cfd08cf18917243c6bcc (patch)
treef33826f374712440d0423f9b509c254a348d8e73 /modules/http2/h2_bucket_beam.h
parentmod_http2: more sparse scorebaord updates with overall stats, keeping last re... (diff)
downloadapache2-72c763aa7a6c1d14cf51cfd08cf18917243c6bcc.tar.xz
apache2-72c763aa7a6c1d14cf51cfd08cf18917243c6bcc.zip
mod_http2: fixes in input/output bucket handling
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1741414 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/http2/h2_bucket_beam.h')
-rw-r--r--modules/http2/h2_bucket_beam.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/modules/http2/h2_bucket_beam.h b/modules/http2/h2_bucket_beam.h
index a8abc908a1..1fc6656a09 100644
--- a/modules/http2/h2_bucket_beam.h
+++ b/modules/http2/h2_bucket_beam.h
@@ -179,6 +179,7 @@ struct h2_bucket_beam {
apr_off_t sent_bytes; /* amount of bytes send */
apr_off_t received_bytes; /* amount of bytes received */
apr_off_t reported_bytes; /* amount of bytes reported as consumed */
+ apr_size_t buckets_sent;
unsigned int aborted : 1;
unsigned int closed : 1;
@@ -276,11 +277,16 @@ void h2_beam_abort(h2_bucket_beam *beam);
apr_status_t h2_beam_close(h2_bucket_beam *beam);
/**
- * Empty the buffer and close.
- *
+ * Empty any buffered data and return APR_SUCCESS when all buckets
+ * in transit have been handled. When called with APR_BLOCK_READ and
+ * with a mutex installed, will wait until this is the case. Otherwise
+ * APR_EAGAIN is returned.
+ * If a timeout is set on the beam, waiting might also time out and
+ * return APR_ETIMEUP.
+ *
* Call from the red side only.
*/
-void h2_beam_shutdown(h2_bucket_beam *beam);
+apr_status_t h2_beam_shutdown(h2_bucket_beam *beam, apr_read_type_e block);
void h2_beam_mutex_set(h2_bucket_beam *beam,
h2_beam_mutex_enter m_enter,