17#ifndef __mod_h2__h2_session__
18#define __mod_h2__h2_session__
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
apr_vformatter_buff_t * c
apr_int32_t apr_int32_t apr_int32_t err
apr_int64_t apr_interval_time_t
static struct h2_workers * workers
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)
struct h2_stream * h2_session_push(h2_session *session, struct h2_stream *is, struct h2_push *push)
@ H2_SESSION_EV_PRE_CLOSE
@ H2_SESSION_EV_NGH2_DONE
@ H2_SESSION_EV_PROTO_ERROR
@ H2_SESSION_EV_INPUT_EXHAUSTED
@ H2_SESSION_EV_INPUT_PENDING
@ H2_SESSION_EV_MPM_STOPPING
@ H2_SESSION_EV_CONN_TIMEOUT
@ H2_SESSION_EV_LOCAL_GOAWAY
@ H2_SESSION_EV_CONN_ERROR
@ H2_SESSION_EV_NO_MORE_STREAMS
@ H2_SESSION_EV_REMOTE_GOAWAY
const char * h2_session_state_str(h2_session_state state)
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)
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)
Structure to store things which are per connection.
apr_bucket_brigade * bbtmp
unsigned int pushes_submitted
unsigned int responses_submitted
struct h2_workers * workers
struct h2_push_diary * push_diary
unsigned int reprioritize
apr_interval_time_t wait_us
struct h2_iqueue * out_c1_blocked
apr_size_t frames_received
unsigned int streams_done
apr_size_t max_data_frame_len
struct h2_c1_io_in_ctx_t * cin
apr_size_t max_stream_count
unsigned int pushes_promised
unsigned int open_streams
struct h2_stream_monitor * monitor
const char * last_status_msg
struct h2_iqueue * ready_to_process
apr_size_t max_stream_mem
unsigned int pushes_reset
apr_interval_time_t idle_delay
struct nghttp2_session * ngh2
unsigned int streams_reset
struct h2_session * session
A structure that represents the current request.
A structure to store information for each virtual server.