diff options
author | Yann Ylavic <ylavic@apache.org> | 2018-09-03 10:27:40 +0000 |
---|---|---|
committer | Yann Ylavic <ylavic@apache.org> | 2018-09-03 10:27:40 +0000 |
commit | ee0e1be9c3fb5e25cd14dabd6e3b8b6870ca3e98 (patch) | |
tree | 4d5a58c9a058e8470033acd64cc70aedcdd5d10f /include/httpd.h | |
parent | fa321ddeba38b0cd5f8bf55ce4306a8006c9e39c (diff) | |
download | httpd-ee0e1be9c3fb5e25cd14dabd6e3b8b6870ca3e98.tar.gz |
util_filter: split pending filters ring in two: input and output ones.
Pending input and output are now maintained separately in respectively
c->pending_input_filters and c->pending_output_filters, which improves
both performances and debug-ability.
Also, struct ap_filter_ring is made opaque, it's only used by util_filter
and this will allow us to later change it e.g. to a dual ring+apr_hash to
avoid quadratic search in ap_filter_prepare_brigade().
MMN major bumped due to the change in conn_rec (this is trunk only code
anyway for now).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1839933 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include/httpd.h')
-rw-r--r-- | include/httpd.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/include/httpd.h b/include/httpd.h index ff620aefec..808e3d4caf 100644 --- a/include/httpd.h +++ b/include/httpd.h @@ -1111,6 +1111,9 @@ typedef enum { AP_CONN_KEEPALIVE } ap_conn_keepalive_e; +/* For struct ap_filter and ap_filter_ring */ +#include "util_filter.h" + /** * @brief Structure to store things which are per connection */ @@ -1221,8 +1224,10 @@ struct conn_rec { /** Array of requests being handled under this connection. */ apr_array_header_t *requests; - /** Ring of pending filters (with setaside buckets) */ - struct ap_filter_ring *pending_filters; + /** Ring of pending input filters (with setaside buckets) */ + struct ap_filter_ring *pending_input_filters; + /** Ring of pending output filters (with setaside buckets) */ + struct ap_filter_ring *pending_output_filters; /** The minimum level of filter type to allow setaside buckets */ int async_filter; |