17 #ifndef __mod_h2__h2_stream__
18 #define __mod_h2__h2_stream__
111 #define H2_STREAM_RST(s, def) (s->rst_error? s->rst_error : (def))
199 const char *
name,
size_t nlen,
200 const char *value,
size_t vlen);
218 const uint8_t *data,
size_t len);
308 #define H2_STRM_MSG(s, msg) \
309 "h2_stream(%ld-%d,%s): "msg, s->session->id, s->id, h2_stream_state_str(s)
311 #define H2_STRM_LOG(aplogno, s, msg) aplogno H2_STRM_MSG(s, msg)
h2_stream_monitor * monitor
Definition: h2_stream.h:107
apr_off_t out_frame_octets
Definition: h2_stream.h:100
apr_off_t out_frames
Definition: h2_stream.h:99
int id
Definition: h2_stream.h:66
h2_stream_state_t state
Definition: h2_stream.h:70
apr_status_t h2_stream_recv_frame(h2_stream *stream, int frame_type, int flags, size_t frame_len)
apr_status_t h2_stream_flush_input(h2_stream *stream)
apr_pool_t * pool
Definition: h2_stream.h:68
struct h2_bucket_beam * output
Definition: h2_stream.h:84
apr_time_t in_last_write
Definition: h2_stream.h:82
const struct h2_priority * h2_stream_get_priority(h2_stream *stream, h2_headers *response)
struct h2_session * session
Definition: h2_stream.h:69
apr_time_t created
Definition: h2_stream.h:72
int in_window_size
Definition: h2_stream.h:81
apr_bucket_brigade request_rec apr_pool_t * pool
Definition: mod_dav.h:555
unsigned int input_eof
Definition: h2_stream.h:92
h2_stream * h2_stream_create(int id, apr_pool_t *pool, struct h2_session *session, h2_stream_monitor *monitor, int initiated_on)
apr_status_t h2_stream_set_request_rec(h2_stream *stream, request_rec *r, int eos)
struct h2_request * rtmp
Definition: h2_stream.h:75
apr_table_t * trailers
Definition: h2_stream.h:76
h2_stream_state_cb * on_state_enter
Definition: h2_stream.h:56
h2_stream_state_cb * on_state_invalid
Definition: h2_stream.h:57
void h2_stream_state_cb(void *ctx, h2_stream *stream)
Definition: h2_stream.h:47
struct h2_stream_monitor h2_stream_monitor
int request_headers_added
Definition: h2_stream.h:77
Definition: h2_bucket_beam.h:163
void h2_stream_dispatch(h2_stream *stream, h2_stream_event_t ev)
apr_bucket_brigade * out_buffer
Definition: h2_stream.h:85
const h2_priority * pref_priority
Definition: h2_stream.h:98
apr_status_t h2_stream_submit_pushes(h2_stream *stream, h2_headers *response)
Definition: apr_buckets.h:258
const struct h2_request * request
Definition: h2_stream.h:74
void h2_stream_set_monitor(h2_stream *stream, h2_stream_monitor *monitor)
apr_status_t h2_stream_prep_processing(h2_stream *stream)
apr_off_t in_data_octets
Definition: h2_stream.h:104
unsigned int out_checked
Definition: h2_stream.h:93
void h2_stream_cleanup(h2_stream *stream)
apr_off_t in_trailer_octets
Definition: h2_stream.h:105
struct h2_task * task
Definition: h2_stream.h:96
apr_int64_t apr_time_t
Definition: apr_time.h:45
apr_off_t in_data_frames
Definition: h2_stream.h:103
apr_bucket_brigade * bb
Definition: mod_dav.h:555
apr_status_t h2_stream_add_header(h2_stream *stream, const char *name, size_t nlen, const char *value, size_t vlen)
apr_status_t h2_stream_recv_DATA(h2_stream *stream, uint8_t flags, const uint8_t *data, size_t len)
apr_off_t out_data_octets
Definition: h2_stream.h:102
int initiated_on
Definition: h2_stream.h:67
void h2_stream_event_cb(void *ctx, h2_stream *stream, h2_stream_event_t ev)
Definition: h2_stream.h:48
unsigned int push_policy
Definition: h2_stream.h:94
Definition: h2_stream.h:65
h2_stream_state_t
Definition: h2.h:106
unsigned int has_response
Definition: h2_stream.h:91
dav_error dav_response * response
Definition: mod_dav.h:203
void h2_stream_set_request(h2_stream *stream, const h2_request *r)
apr_status_t h2_stream_in_consumed(h2_stream *stream, apr_off_t amount)
h2_stream_event_t
Definition: h2.h:118
const char * h2_stream_state_str(h2_stream *stream)
A structure that represents the current request.
Definition: httpd.h:860
Definition: h2_stream.h:54
int h2_stream_was_closed(const h2_stream *stream)
struct h2_bucket_beam * input
Definition: h2_stream.h:79
void h2_stream_rst(h2_stream *stream, int error_code)
unsigned int eos
Definition: h2_task.h:64
int rst_error
Definition: h2_stream.h:88
int monitor(apr_pool_t *p, server_rec *s)
struct apr_table_t apr_table_t
Definition: apr_tables.h:56
unsigned int aborted
Definition: h2_stream.h:89
const char * name
Definition: mod_dav.h:805
apr_table_t * h2_stream_get_trailers(h2_stream *stream)
apr_off_t out_data_frames
Definition: h2_stream.h:101
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
unsigned int scheduled
Definition: h2_stream.h:90
int apr_status_t
Definition: apr_errno.h:44
apr_status_t h2_stream_read_to(h2_stream *stream, apr_bucket_brigade *bb, apr_off_t *plen, int *peos)
request_rec * r
Definition: mod_dav.h:518
void h2_stream_destroy(h2_stream *stream)
h2_stream_event_cb * on_event
Definition: h2_stream.h:61
h2_stream_event_cb * on_state_event
Definition: h2_stream.h:59
apr_status_t h2_stream_send_frame(h2_stream *stream, int frame_type, int flags, size_t frame_len)
apr_bucket_brigade * in_buffer
Definition: h2_stream.h:80
int h2_stream_is_ready(h2_stream *stream)
dav_resource int dav_locktoken dav_response int flags
Definition: mod_dav.h:1452
Definition: h2_session.h:76
apr_size_t max_mem
Definition: h2_stream.h:86
apr_status_t h2_stream_end_headers(h2_stream *stream, int eos, size_t raw_bytes)
apr_status_t h2_stream_out_prepare(h2_stream *stream, apr_off_t *plen, int *peos, h2_headers **presponse)
void * ctx
Definition: h2_stream.h:55