17 #ifndef __mod_h2__h2_session__
18 #define __mod_h2__h2_session__
33 struct apr_thread_mutext_t;
47 struct nghttp2_session;
74 struct h2_c1_io_in_ctx_t *
cin;
78 struct nghttp2_session *
ngh2;
140 int err,
const char *msg);
193 int arg,
const char *msg);
196 #define H2_SSSN_MSG(s, msg) \
197 "h2_session(%d-%lu,%s,%d): "msg, s->child_num, (unsigned long)s->id, \
198 h2_session_state_str(s->state), \
201 #define H2_SSSN_LOG(aplogno, s, msg) aplogno H2_SSSN_MSG(s, msg)
203 #define H2_SSSN_STRM_MSG(s, stream_id, msg) \
204 "h2_stream(%d-%lu-%d): "msg, s->child_num, (unsigned long)s->id, stream_id
request_rec * r
Definition: mod_dav.h:518
dav_error * err
Definition: mod_dav.h:203
int apr_status_t
Definition: apr_errno.h:44
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
apr_int64_t apr_interval_time_t
Definition: apr_time.h:55
h2_session_state
Definition: h2.h:121
int h2_session_push_enabled(h2_session *session)
void h2_session_event(h2_session *session, h2_session_event_t ev, int err, const char *msg)
apr_status_t h2_session_pre_close(h2_session *session, int async)
h2_session_event_t
Definition: h2_session.h:49
@ H2_SESSION_EV_PRE_CLOSE
Definition: h2_session.h:60
@ H2_SESSION_EV_NGH2_DONE
Definition: h2_session.h:58
@ H2_SESSION_EV_INIT
Definition: h2_session.h:50
@ H2_SESSION_EV_PROTO_ERROR
Definition: h2_session.h:56
@ H2_SESSION_EV_INPUT_EXHAUSTED
Definition: h2_session.h:52
@ H2_SESSION_EV_INPUT_PENDING
Definition: h2_session.h:51
@ H2_SESSION_EV_MPM_STOPPING
Definition: h2_session.h:59
@ H2_SESSION_EV_CONN_TIMEOUT
Definition: h2_session.h:57
@ H2_SESSION_EV_LOCAL_GOAWAY
Definition: h2_session.h:53
@ H2_SESSION_EV_CONN_ERROR
Definition: h2_session.h:55
@ H2_SESSION_EV_NO_MORE_STREAMS
Definition: h2_session.h:61
@ H2_SESSION_EV_REMOTE_GOAWAY
Definition: h2_session.h:54
struct h2_session h2_session
void h2_session_dispatch_event(h2_session *session, h2_session_event_t ev, int arg, const char *msg)
apr_status_t h2_session_process(h2_session *session, int async)
apr_status_t h2_session_create(h2_session **psession, conn_rec *c, request_rec *r, server_rec *, struct h2_workers *workers)
const char * h2_session_state_str(h2_session_state state)
struct h2_stream * h2_session_push(h2_session *session, struct h2_stream *is, struct h2_push *push)
void h2_session_abort(h2_session *session, apr_status_t reason)
apr_status_t h2_session_set_prio(h2_session *session, struct h2_stream *stream, const struct h2_priority *prio)
struct h2_ihash_t h2_ihash_t
Definition: h2_util.h:42
struct h2_workers h2_workers
Definition: h2_workers.h:31
Definition: apr_buckets.h:263
Definition: apr_arch_thread_cond.h:34
Structure to store things which are per connection.
Definition: httpd.h:1193
Definition: h2_c1_io.h:29
Definition: h2_session.h:64
apr_bucket_brigade * bbtmp
Definition: h2_session.h:111
unsigned int pushes_submitted
Definition: h2_session.h:98
unsigned int responses_submitted
Definition: h2_session.h:95
struct h2_workers * workers
Definition: h2_session.h:73
struct h2_push_diary * push_diary
Definition: h2_session.h:89
apr_uint32_t id
Definition: h2_session.h:66
unsigned int reprioritize
Definition: h2_session.h:85
apr_interval_time_t wait_us
Definition: h2_session.h:87
struct h2_iqueue * out_c1_blocked
Definition: h2_session.h:118
apr_size_t idle_frames
Definition: h2_session.h:108
unsigned int padding_max
Definition: h2_session.h:76
apr_size_t frames_received
Definition: h2_session.h:101
h2_c1_io io
Definition: h2_session.h:75
unsigned int streams_done
Definition: h2_session.h:94
int child_num
Definition: h2_session.h:65
apr_size_t frames_sent
Definition: h2_session.h:102
apr_size_t max_data_frame_len
Definition: h2_session.h:106
struct h2_c1_io_in_ctx_t * cin
Definition: h2_session.h:74
apr_size_t max_stream_count
Definition: h2_session.h:104
struct h2_mplx * mplx
Definition: h2_session.h:72
h2_session_props remote
Definition: h2_session.h:83
unsigned int pushes_promised
Definition: h2_session.h:97
int last_status_code
Definition: h2_session.h:114
unsigned int flush
Definition: h2_session.h:86
conn_rec * c1
Definition: h2_session.h:67
unsigned int open_streams
Definition: h2_session.h:92
struct h2_stream_monitor * monitor
Definition: h2_session.h:91
char status[64]
Definition: h2_session.h:113
const char * last_status_msg
Definition: h2_session.h:115
struct h2_iqueue * ready_to_process
Definition: h2_session.h:119
request_rec * r
Definition: h2_session.h:68
h2_session_state state
Definition: h2_session.h:80
apr_size_t max_stream_mem
Definition: h2_session.h:105
h2_session_props local
Definition: h2_session.h:82
int input_flushed
Definition: h2_session.h:117
unsigned int pushes_reset
Definition: h2_session.h:99
apr_interval_time_t idle_delay
Definition: h2_session.h:109
server_rec * s
Definition: h2_session.h:70
struct nghttp2_session * ngh2
Definition: h2_session.h:78
int padding_always
Definition: h2_session.h:77
unsigned int streams_reset
Definition: h2_session.h:96
apr_pool_t * pool
Definition: h2_session.h:71
Definition: h2_stream.h:55
Definition: h2_stream.h:78
struct h2_session * session
Definition: h2_stream.h:85
A structure that represents the current request.
Definition: httpd.h:856
A structure to store information for each virtual server.
Definition: httpd.h:1382