#include "h2_c1_io.h"
#include "h2.h"
Go to the source code of this file.
|
enum | h2_session_event_t {
H2_SESSION_EV_INIT
, H2_SESSION_EV_INPUT_PENDING
, H2_SESSION_EV_INPUT_EXHAUSTED
, H2_SESSION_EV_LOCAL_GOAWAY
,
H2_SESSION_EV_REMOTE_GOAWAY
, H2_SESSION_EV_CONN_ERROR
, H2_SESSION_EV_PROTO_ERROR
, H2_SESSION_EV_CONN_TIMEOUT
,
H2_SESSION_EV_NGH2_DONE
, H2_SESSION_EV_MPM_STOPPING
, H2_SESSION_EV_PRE_CLOSE
, H2_SESSION_EV_NO_MORE_STREAMS
} |
|
|
const char * | h2_session_state_str (h2_session_state state) |
|
apr_status_t | h2_session_create (h2_session **psession, conn_rec *c, request_rec *r, server_rec *, struct h2_workers *workers) |
|
void | h2_session_event (h2_session *session, h2_session_event_t ev, int err, const char *msg) |
|
apr_status_t | h2_session_process (h2_session *session, int async) |
|
apr_status_t | h2_session_pre_close (h2_session *session, int async) |
|
void | h2_session_abort (h2_session *session, apr_status_t reason) |
|
int | h2_session_push_enabled (h2_session *session) |
|
struct h2_stream * | h2_session_push (h2_session *session, struct h2_stream *is, struct h2_push *push) |
|
apr_status_t | h2_session_set_prio (h2_session *session, struct h2_stream *stream, const struct h2_priority *prio) |
|
void | h2_session_dispatch_event (h2_session *session, h2_session_event_t ev, int arg, const char *msg) |
|
◆ H2_SSSN_LOG
#define H2_SSSN_LOG |
( |
|
aplogno, |
|
|
|
s, |
|
|
|
msg |
|
) |
| aplogno H2_SSSN_MSG(s, msg) |
◆ H2_SSSN_MSG
#define H2_SSSN_MSG |
( |
|
s, |
|
|
|
msg |
|
) |
| |
Value: "h2_session(%d-%lu,%s,%d): "msg,
s->child_num, (
unsigned long)
s->id, \
s->open_streams
const char * s
Definition: mod_dav.h:1327
const char * h2_session_state_str(h2_session_state state)
◆ H2_SSSN_STRM_MSG
#define H2_SSSN_STRM_MSG |
( |
|
s, |
|
|
|
stream_id, |
|
|
|
msg |
|
) |
| "h2_stream(%d-%lu-%d): "msg, s->child_num, (unsigned long)s->id, stream_id |
◆ h2_session
◆ h2_session_event_t
Enumerator |
---|
H2_SESSION_EV_INIT | |
H2_SESSION_EV_INPUT_PENDING | |
H2_SESSION_EV_INPUT_EXHAUSTED | |
H2_SESSION_EV_LOCAL_GOAWAY | |
H2_SESSION_EV_REMOTE_GOAWAY | |
H2_SESSION_EV_CONN_ERROR | |
H2_SESSION_EV_PROTO_ERROR | |
H2_SESSION_EV_CONN_TIMEOUT | |
H2_SESSION_EV_NGH2_DONE | |
H2_SESSION_EV_MPM_STOPPING | |
H2_SESSION_EV_PRE_CLOSE | |
H2_SESSION_EV_NO_MORE_STREAMS | |
◆ h2_session_abort()
Called when a serious error occurred and the session needs to terminate without further connection io.
- Parameters
-
session | the session to abort |
reason | the apache status that caused the abort |
◆ h2_session_create()
Create a new h2_session for the given connection. The session will apply the configured parameter.
- Parameters
-
psession | pointer receiving the created session on success or NULL |
c | the connection to work on |
r | optional request when protocol was upgraded |
cfg | the module config to apply |
workers | the worker pool to use |
- Returns
- the created session
◆ h2_session_dispatch_event()
Dispatch a event happending during session processing.
- Parameters
-
session | the sessiont |
ev | the event that happened |
arg | integer argument (event type dependant) |
msg | destriptive message |
◆ h2_session_event()
◆ h2_session_pre_close()
Last chance to do anything before the connection is closed.
◆ h2_session_process()
Process the given HTTP/2 session until it is ended or a fatal error occurred.
- Parameters
-
session | the sessionm to process |
◆ h2_session_push()
Submit a push promise on the stream and schedule the new steam for processing..
- Parameters
-
session | the session to work in |
is | the stream initiating the push |
push | the push to promise |
- Returns
- the new promised stream or NULL
◆ h2_session_push_enabled()
Returns if client settings have push enabled.
- Parameters
-
!= | 0 iff push is enabled in client settings |
◆ h2_session_set_prio()
◆ h2_session_state_str()