예제 #1
0
파일: h2_stream.c 프로젝트: AzerTyQsdF/osx
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;
}
예제 #2
0
파일: h2_to_h1.c 프로젝트: ikyaqoob/mod_h2
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;
}