|
| static conn_rec * | c2_prod_next (void *baton, int *phas_more) |
| |
| static void | c2_prod_done (void *baton, conn_rec *c2) |
| |
| static void | workers_shutdown (void *baton, int graceful) |
| |
| static void | s_mplx_be_happy (h2_mplx *m, conn_rec *c, h2_conn_ctx_t *conn_ctx) |
| |
| static void | m_be_annoyed (h2_mplx *m) |
| |
| static apr_status_t | mplx_pollset_create (h2_mplx *m) |
| |
| static apr_status_t | mplx_pollset_poll (h2_mplx *m, apr_interval_time_t timeout, stream_ev_callback *on_stream_input, stream_ev_callback *on_stream_output, void *on_ctx) |
| |
| static int | abort_on_oom (int retcode) |
| |
| apr_status_t | h2_mplx_c1_child_init (apr_pool_t *pool, server_rec *s) |
| |
| static void | c1_input_consumed (void *ctx, h2_bucket_beam *beam, apr_off_t length) |
| |
| static int | stream_is_running (h2_stream *stream) |
| |
| int | h2_mplx_c1_stream_is_running (h2_mplx *m, h2_stream *stream) |
| |
| static void | c1c2_stream_joined (h2_mplx *m, h2_stream *stream) |
| |
| static void | m_stream_cleanup (h2_mplx *m, h2_stream *stream) |
| |
| static h2_c2_transit * | c2_transit_create (h2_mplx *m) |
| |
| static void | c2_transit_destroy (h2_c2_transit *transit) |
| |
| static h2_c2_transit * | c2_transit_get (h2_mplx *m) |
| |
| static void | c2_transit_recycle (h2_mplx *m, h2_c2_transit *transit) |
| |
| h2_mplx * | h2_mplx_c1_create (int child_num, apr_uint32_t id, h2_stream *stream0, server_rec *s, apr_pool_t *parent, h2_workers *workers) |
| |
| int | h2_mplx_c1_shutdown (h2_mplx *m) |
| |
| static int | m_stream_iter_wrap (void *ctx, void *stream) |
| |
| apr_status_t | h2_mplx_c1_streams_do (h2_mplx *m, h2_mplx_stream_cb *cb, void *ctx) |
| |
| static int | m_stream_want_send_data (void *ctx, void *stream) |
| |
| int | h2_mplx_c1_all_streams_want_send_data (h2_mplx *m) |
| |
| static int | m_report_stream_iter (void *ctx, void *val) |
| |
| static int | m_unexpected_stream_iter (void *ctx, void *val) |
| |
| static int | m_stream_cancel_iter (void *ctx, void *val) |
| |
| static void | c1_purge_streams (h2_mplx *m) |
| |
| void | h2_mplx_c1_destroy (h2_mplx *m) |
| |
| apr_status_t | h2_mplx_c1_stream_cleanup (h2_mplx *m, h2_stream *stream, unsigned int *pstream_count) |
| |
| const h2_stream * | h2_mplx_c2_stream_get (h2_mplx *m, int stream_id) |
| |
| void | h2_mplx_c1_going_keepalive (h2_mplx *m) |
| |
| apr_status_t | h2_mplx_c1_poll (h2_mplx *m, apr_interval_time_t timeout, stream_ev_callback *on_stream_input, stream_ev_callback *on_stream_output, void *on_ctx) |
| |
| apr_status_t | h2_mplx_c1_reprioritize (h2_mplx *m, h2_stream_pri_cmp_fn *cmp, h2_session *session) |
| |
| static apr_status_t | c1_process_stream (h2_mplx *m, h2_stream *stream, h2_stream_pri_cmp_fn *cmp, h2_session *session) |
| |
| void | h2_mplx_c1_process (h2_mplx *m, h2_iqueue *ready_to_process, h2_stream_get_fn *get_stream, h2_stream_pri_cmp_fn *stream_pri_cmp, h2_session *session, unsigned int *pstream_count) |
| |
| static void | c2_beam_input_write_notify (void *ctx, h2_bucket_beam *beam) |
| |
| static void | add_stream_poll_event (h2_mplx *m, int stream_id, h2_iqueue *q) |
| |
| static void | c2_beam_input_read_notify (void *ctx, h2_bucket_beam *beam) |
| |
| static void | c2_beam_input_read_eagain (void *ctx, h2_bucket_beam *beam) |
| |
| static void | c2_beam_output_write_notify (void *ctx, h2_bucket_beam *beam) |
| |
| static apr_status_t | c2_setup_io (h2_mplx *m, conn_rec *c2, h2_stream *stream, h2_c2_transit *transit) |
| |
| static conn_rec * | s_next_c2 (h2_mplx *m) |
| |
| static void | s_c2_done (h2_mplx *m, conn_rec *c2, h2_conn_ctx_t *conn_ctx) |
| |
| static int | reset_is_acceptable (h2_stream *stream) |
| |
| apr_status_t | h2_mplx_c1_client_rst (h2_mplx *m, int stream_id, h2_stream *stream) |
| |