Apache2
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
h2_filter.h
Go to the documentation of this file.
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2  * contributor license agreements. See the NOTICE file distributed with
3  * this work for additional information regarding copyright ownership.
4  * The ASF licenses this file to You under the Apache License, Version 2.0
5  * (the "License"); you may not use this file except in compliance with
6  * the License. You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef __mod_h2__h2_filter__
18 #define __mod_h2__h2_filter__
19 
20 struct h2_bucket_beam;
21 struct h2_headers;
22 struct h2_stream;
23 struct h2_session;
24 
25 typedef struct h2_filter_cin {
33 
35 
37 
39  apr_bucket_brigade* brigade,
40  ap_input_mode_t mode,
41  apr_read_type_e block,
42  apr_off_t readbytes);
43 
44 /******* observer bucket ******************************************************/
45 
46 typedef enum {
50 
52 
54 
55 #define H2_BUCKET_IS_OBSERVER(e) (e->type == &h2_bucket_type_observer)
56 
58  void *ctx);
59 
61  h2_bucket_event_cb *cb, void *ctx);
62 
64 
66  apr_bucket_brigade *dest,
67  const apr_bucket *src);
68 
69 /******* /.well-known/h2/state handler ****************************************/
70 
72 
73 #endif /* __mod_h2__h2_filter__ */
apr_status_t h2_bucket_observer_fire(apr_bucket *b, h2_bucket_event event)
ap_input_mode_t
input filtering modes
Definition: util_filter.h:41
struct h2_filter_cin * cin
Definition: h2_session.h:87
apr_status_t h2_filter_core_input(ap_filter_t *filter, apr_bucket_brigade *brigade, ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes)
The representation of a filter chain.
Definition: util_filter.h:278
struct apr_bucket_alloc_t apr_bucket_alloc_t
Definition: apr_buckets.h:123
h2_filter_cin * h2_filter_cin_create(struct h2_session *session)
Definition: h2_bucket_beam.h:164
Definition: apr_buckets.h:258
apr_bucket * h2_bucket_observer_create(apr_bucket_alloc_t *list, h2_bucket_event_cb *cb, void *ctx)
apr_status_t h2_bucket_event_cb(void *ctx, h2_bucket_event event, apr_bucket *b)
Definition: h2_filter.h:53
Definition: h2_filter.h:47
apr_int64_t apr_interval_time_t
Definition: apr_time.h:55
apr_bucket * h2_bucket_observer_make(apr_bucket *b, h2_bucket_event_cb *cb, void *ctx)
struct h2_session * session
Definition: h2_filter.h:30
Definition: apr_buckets.h:224
Definition: apr_arch_networkio.h:37
dav_error * src
Definition: mod_dav.h:186
Definition: h2_stream.h:65
apr_bucket * h2_bucket_observer_beam(struct h2_bucket_beam *beam, apr_bucket_brigade *dest, const apr_bucket *src)
h2_bucket_event
Definition: h2_filter.h:46
Definition: h2_filter.h:48
apr_read_type_e
Definition: apr_buckets.h:57
A structure that represents the current request.
Definition: httpd.h:811
void h2_filter_cin_timeout_set(h2_filter_cin *cin, apr_interval_time_t timeout)
struct h2_filter_cin h2_filter_cin
apr_pool_t * pool
Definition: h2_filter.h:26
Definition: h2.h:148
const apr_bucket_type_t h2_bucket_type_observer
apr_socket_t * socket
Definition: h2_filter.h:27
apr_interval_time_t timeout
Definition: h2_filter.h:28
Definition: apr_buckets.h:131
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
int apr_status_t
Definition: apr_errno.h:44
int h2_filter_h2_status_handler(request_rec *r)
apr_bucket_brigade * bb
Definition: h2_filter.h:29
request_rec * r
Definition: mod_dav.h:515
apr_bucket * cur
Definition: h2_filter.h:31
Definition: h2_session.h:76
off_t apr_off_t
Definition: apr.h:377
Definition: h2_filter.h:25