> Am 17.08.2022 um 09:26 schrieb Ruediger Pluem <rpl...@apache.org>:
> 
> 
> 
> On 3/7/19 10:41 AM, ic...@apache.org wrote:
>> Author: icing
>> Date: Thu Mar  7 09:41:15 2019
>> New Revision: 1854963
>> 
>> URL: http://svn.apache.org/viewvc?rev=1854963&view=rev
>> Log:
>>  *) mod_http2: new configuration directive: ```H2Padding numbits``` to 
>> control 
>>     padding of HTTP/2 payload frames. 'numbits' is a number from 0-8,
>>     controlling the range of padding bytes added to a frame. The actual 
>> number
>>     added is chosen randomly per frame. This applies to HEADERS, DATA and 
>> PUSH_PROMISE
>>     frames equally. The default continues to be 0, e.g. no padding. [Stefan 
>> Eissing] 
>> 
>>  *) mod_http2: ripping out all the h2_req_engine internal features now that 
>> mod_proxy_http2
>>     has no more need for it. Optional functions are still declared but no 
>> longer implemented.
>>     While previous mod_proxy_http2 will work with this, it is recommeneded 
>> to run the matching
>>     versions of both modules. [Stefan Eissing]
>> 
>>  *) mod_proxy_http2: changed mod_proxy_http2 implementation and fixed 
>> several bugs which
>>     resolve PR63170. The proxy module does now a single h2 request on the 
>> (reused)
>>     connection and returns. [Stefan Eissing]
>> 
>> 
>> Removed:
>>    httpd/httpd/trunk/modules/http2/h2_ngn_shed.c
>>    httpd/httpd/trunk/modules/http2/h2_ngn_shed.h
>> Modified:
>>    httpd/httpd/trunk/CHANGES
>>    httpd/httpd/trunk/modules/http2/config2.m4
>>    httpd/httpd/trunk/modules/http2/h2.h
>>    httpd/httpd/trunk/modules/http2/h2_config.c
>>    httpd/httpd/trunk/modules/http2/h2_config.h
>>    httpd/httpd/trunk/modules/http2/h2_conn_io.c
>>    httpd/httpd/trunk/modules/http2/h2_mplx.c
>>    httpd/httpd/trunk/modules/http2/h2_mplx.h
>>    httpd/httpd/trunk/modules/http2/h2_proxy_session.c
>>    httpd/httpd/trunk/modules/http2/h2_proxy_session.h
>>    httpd/httpd/trunk/modules/http2/h2_request.c
>>    httpd/httpd/trunk/modules/http2/h2_session.c
>>    httpd/httpd/trunk/modules/http2/h2_session.h
>>    httpd/httpd/trunk/modules/http2/h2_stream.c
>>    httpd/httpd/trunk/modules/http2/h2_task.c
>>    httpd/httpd/trunk/modules/http2/h2_task.h
>>    httpd/httpd/trunk/modules/http2/h2_version.h
>>    httpd/httpd/trunk/modules/http2/mod_http2.c
>>    httpd/httpd/trunk/modules/http2/mod_http2.h
>>    httpd/httpd/trunk/modules/http2/mod_proxy_http2.c
>> 
> 
>> Modified: httpd/httpd/trunk/modules/http2/mod_http2.h
>> URL: 
>> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/mod_http2.h?rev=1854963&r1=1854962&r2=1854963&view=diff
>> ==============================================================================
>> --- httpd/httpd/trunk/modules/http2/mod_http2.h (original)
>> +++ httpd/httpd/trunk/modules/http2/mod_http2.h Thu Mar  7 09:41:15 2019
>> @@ -30,22 +30,20 @@ APR_DECLARE_OPTIONAL_FN(int,
>> 
>> 
>> /*******************************************************************************
>> - * HTTP/2 request engines
>> + * START HTTP/2 request engines (DEPRECATED)
>>  
>> ******************************************************************************/
>> +
>> +/* The following functions were introduced for the experimental 
>> mod_proxy_http2
>> + * support, but have been abandoned since.
>> + * They are still declared here for backward compatibiliy, in case someone
>> + * tries to build an old mod_proxy_http2 against it, but will disappear
>> + * completely sometime in the future.
>> + */ 
>> 
>> struct apr_thread_cond_t;
>> -
>> typedef struct h2_req_engine h2_req_engine;
>> -
>> typedef void http2_output_consumed(void *ctx, conn_rec *c, apr_off_t 
>> consumed);
>> 
>> -/**
>> - * Initialize a h2_req_engine. The structure will be passed in but
>> - * only the name and master are set. The function should initialize
>> - * all fields.
>> - * @param engine the allocated, partially filled structure
>> - * @param r      the first request to process, or NULL
>> - */
>> typedef apr_status_t http2_req_engine_init(h2_req_engine *engine, 
>>                                            const char *id, 
>>                                            const char *type,
>> @@ -55,35 +53,11 @@ typedef apr_status_t http2_req_engine_in
>>                                            http2_output_consumed **pconsumed,
>>                                            void **pbaton);
>> 
>> -/**
>> - * Push a request to an engine with the specified name for further 
>> processing.
>> - * If no such engine is available, einit is not NULL, einit is called 
>> - * with a new engine record and the caller is responsible for running the
>> - * new engine instance.
>> - * @param engine_type the type of the engine to add the request to
>> - * @param r           the request to push to an engine for processing
>> - * @param einit       an optional initialization callback for a new engine 
>> - *                    of the requested type, should no instance be 
>> available.
>> - *                    By passing a non-NULL callback, the caller is willing
>> - *                    to init and run a new engine itself.
>> - * @return APR_SUCCESS iff slave was successfully added to an engine
>> - */
>> APR_DECLARE_OPTIONAL_FN(apr_status_t, 
>>                         http2_req_engine_push, (const char *engine_type, 
>>                                                 request_rec *r,
>>                                                 http2_req_engine_init 
>> *einit));
>> 
>> -/**
>> - * Get a new request for processing in this engine.
>> - * @param engine      the engine which is done processing the slave
>> - * @param block       if call should block waiting for request to come
>> - * @param capacity    how many parallel requests are acceptable
>> - * @param pr          the request that needs processing or NULL
>> - * @return APR_SUCCESS if new request was assigned
>> - *         APR_EAGAIN  if no new request is available
>> - *         APR_EOF          if engine may shut down, as no more request 
>> will be scheduled
>> - *         APR_ECONNABORTED if the engine needs to shut down immediately
>> - */
>> APR_DECLARE_OPTIONAL_FN(apr_status_t, 
>>                         http2_req_engine_pull, (h2_req_engine *engine, 
>>                                                 apr_read_type_e block,
>> @@ -98,4 +72,8 @@ APR_DECLARE_OPTIONAL_FN(void,
>>                         http2_get_num_workers, (server_rec *s,
>>                                                 int *minw, int *max));
> 
> Is http2_get_num_workers really deprecated? I think it should move before 
> this block. Something like the below?

That looks reasonable. When I added the deprecation warning, I did not add how 
far that extends.

Cheers,
Stefan

> 
> Index: modules/http2/mod_http2.h
> ===================================================================
> --- modules/http2/mod_http2.h (revision 1903169)
> +++ modules/http2/mod_http2.h (working copy)
> @@ -28,6 +28,9 @@
> APR_DECLARE_OPTIONAL_FN(int,
>                         http2_is_h2, (conn_rec *));
> 
> +APR_DECLARE_OPTIONAL_FN(void,
> +                        http2_get_num_workers, (server_rec *s,
> +                                                int *minw, int *max));
> 
> /*******************************************************************************
>  * START HTTP/2 request engines (DEPRECATED)
> @@ -68,9 +71,6 @@
>                                                 conn_rec *rconn,
>                                                 apr_status_t status));
> 
> -APR_DECLARE_OPTIONAL_FN(void,
> -                        http2_get_num_workers, (server_rec *s,
> -                                                int *minw, int *max));
> 
> /*******************************************************************************
>  * END HTTP/2 request engines (DEPRECATED)
> 
> 
>> 
>> +/*******************************************************************************
>> + * END HTTP/2 request engines (DEPRECATED)
>> + 
>> ******************************************************************************/
>> +
>> #endif
>> 
> 
> 
> Regards
> 
> RĂ¼diger

Reply via email to