MCPcopy Create free account
hub / github.com/apache/httpd / h2_stream_dispatch

Function h2_stream_dispatch

modules/http2/h2_stream.c:392–417  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

390}
391
392void h2_stream_dispatch(h2_stream *stream, h2_stream_event_t ev)
393{
394 int new_state;
395
396 H2_STRM_ASSERT_MAGIC(stream, H2_STRM_MAGIC_OK);
397 ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, stream->session->c1,
398 H2_STRM_MSG(stream, "dispatch event %d"), ev);
399 new_state = on_event(stream, ev);
400 if (new_state < 0) {
401 ap_log_cerror(APLOG_MARK, APLOG_WARNING, 0, stream->session->c1,
402 H2_STRM_LOG(APLOGNO(10002), stream, "invalid event %d"), ev);
403 on_state_invalid(stream);
404 AP_DEBUG_ASSERT(new_state > S_XXX);
405 return;
406 }
407 else if ((h2_stream_state_t)new_state == stream->state) {
408 /* nop */
409 ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, stream->session->c1,
410 H2_STRM_MSG(stream, "non-state event %d"), ev);
411 return;
412 }
413 else {
414 on_state_event(stream, ev);
415 transit(stream, new_state);
416 }
417}
418
419static void set_policy_for(h2_stream *stream, h2_request *r)
420{

Callers 9

input_flushFunction · 0.85
close_inputFunction · 0.85
h2_stream_recv_DATAFunction · 0.85
h2_stream_rstFunction · 0.85
h2_stream_add_headerFunction · 0.85
stream_data_cbFunction · 0.85
m_stream_cancel_iterFunction · 0.85
h2_mplx_c1_client_rstFunction · 0.85
bucket_destroyFunction · 0.85

Calls 4

on_state_invalidFunction · 0.85
on_state_eventFunction · 0.85
on_eventFunction · 0.70
transitFunction · 0.70

Tested by

no test coverage detected