summaryrefslogtreecommitdiffstats
path: root/modules/http2/h2_mplx.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules/http2/h2_mplx.h')
-rw-r--r--modules/http2/h2_mplx.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/modules/http2/h2_mplx.h b/modules/http2/h2_mplx.h
index d5c4f9916f..662682a05b 100644
--- a/modules/http2/h2_mplx.h
+++ b/modules/http2/h2_mplx.h
@@ -44,6 +44,13 @@ struct h2_iqueue;
#include <apr_queue.h>
+typedef struct h2_c2_transit h2_c2_transit;
+
+struct h2_c2_transit {
+ apr_pool_t *pool;
+ apr_bucket_alloc_t *bucket_alloc;
+};
+
typedef struct h2_mplx h2_mplx;
struct h2_mplx {
@@ -83,14 +90,16 @@ struct h2_mplx {
apr_array_header_t *streams_ev_in;
apr_array_header_t *streams_ev_out;
-#if !H2_POLL_STREAMS
- apr_thread_mutex_t *poll_lock; /* not the painter */
+ apr_thread_mutex_t *poll_lock; /* protect modifications of queues below */
struct h2_iqueue *streams_input_read; /* streams whose input has been read from */
struct h2_iqueue *streams_output_written; /* streams whose output has been written to */
-#endif
+
struct h2_workers *workers; /* h2 workers process wide instance */
request_rec *scratch_r; /* pseudo request_rec for scoreboard reporting */
+
+ apr_size_t max_spare_transits; /* max number of transit pools idling */
+ apr_array_header_t *c2_transits; /* base pools for running c2 connections */
};
apr_status_t h2_mplx_c1_child_init(apr_pool_t *pool, server_rec *s);