static apr_status_t h2_stream_input_flush(h2_stream *stream) { apr_status_t status = APR_SUCCESS; if (stream->bbin && !APR_BRIGADE_EMPTY(stream->bbin)) { status = h2_mplx_in_write(stream->session->mplx, stream->id, stream->bbin); if (status != APR_SUCCESS) { ap_log_cerror(APLOG_MARK, APLOG_DEBUG, status, stream->session->mplx->c, "h2_stream(%ld-%d): flushing input data", stream->session->id, stream->id); } } return status; }
apr_status_t h2_to_h1_flush(h2_to_h1 *to_h1) { apr_status_t status = APR_SUCCESS; if (!APR_BRIGADE_EMPTY(to_h1->bb)) { ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, h2_mplx_get_conn(to_h1->m), "h2_to_h1(%ld-%d): flush request bytes", h2_mplx_get_id(to_h1->m), to_h1->stream_id); status = h2_mplx_in_write(to_h1->m, to_h1->stream_id, to_h1->bb); if (status != APR_SUCCESS) { ap_log_cerror(APLOG_MARK, APLOG_ERR, status, h2_mplx_get_conn(to_h1->m), "h2_request(%d): pushing request data", to_h1->stream_id); } } return status; }