Apache HTTPD
Classes | Functions | Variables
h2_c2.c File Reference
module mpm_module
#include <assert.h>
#include <stddef.h>
#include <apr_atomic.h>
#include <apr_strings.h>
#include <httpd.h>
#include <http_core.h>
#include <http_config.h>
#include <http_connection.h>
#include <http_protocol.h>
#include <http_request.h>
#include <http_log.h>
#include <http_vhost.h>
#include <util_filter.h>
#include <ap_mmn.h>
#include <ap_mpm.h>
#include <mpm_common.h>
#include <mod_core.h>
#include <scoreboard.h>
#include "h2_private.h"
#include "h2.h"
#include "h2_bucket_beam.h"
#include "h2_c1.h"
#include "h2_config.h"
#include "h2_conn_ctx.h"
#include "h2_c2_filter.h"
#include "h2_protocol.h"
#include "h2_mplx.h"
#include "h2_request.h"
#include "h2_headers.h"
#include "h2_session.h"
#include "h2_stream.h"
#include "h2_ws.h"
#include "h2_c2.h"
#include "h2_util.h"
#include "mod_http2.h"

Go to the source code of this file.

Classes

struct  h2_c2_fctx_in_t
 

Functions

static void check_modules (int force)
 
const charh2_conn_mpm_name (void)
 
int h2_mpm_supported (void)
 
apr_status_t h2_c2_child_init (apr_pool_t *pool, server_rec *s)
 
static void h2_c2_log_io (conn_rec *c2, apr_off_t bytes_sent)
 
void h2_c2_destroy (conn_rec *c2)
 
void h2_c2_abort (conn_rec *c2, conn_rec *from)
 
static apr_status_t h2_c2_filter_in (ap_filter_t *f, apr_bucket_brigade *bb, ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes)
 
static apr_status_t beam_out (conn_rec *c2, h2_conn_ctx_t *conn_ctx, apr_bucket_brigade *bb)
 
static apr_status_t h2_c2_filter_out (ap_filter_t *f, apr_bucket_brigade *bb)
 
static int addn_headers (void *udata, const char *name, const char *value)
 
static void check_early_hints (request_rec *r, const char *tag)
 
static int c2_hook_fixups (request_rec *r)
 
static apr_status_t http2_get_pollfd_from_conn (conn_rec *c, struct apr_pollfd_t *pfd, apr_interval_time_t *ptimeout)
 
static apr_status_t c2_run_pre_connection (conn_rec *c2, apr_socket_t *csd)
 
apr_status_t h2_c2_process (conn_rec *c2, apr_thread_t *thread, int worker_id)
 
static apr_status_t c2_process (h2_conn_ctx_t *conn_ctx, conn_rec *c)
 
conn_rech2_c2_create (conn_rec *c1, apr_pool_t *parent, apr_bucket_alloc_t *buckt_alloc)
 
static int h2_c2_hook_post_read_request (request_rec *r)
 
static int h2_c2_hook_process (conn_rec *c)
 
void h2_c2_register_hooks (void)
 

Variables

static int mpm_supported = 1
 
static apr_socket_tdummy_socket
 

Function Documentation

◆ addn_headers()

static int addn_headers ( void *  udata,
const char name,
const char value 
)
static

Definition at line 413 of file h2_c2.c.

◆ beam_out()

static apr_status_t beam_out ( conn_rec c2,
h2_conn_ctx_t conn_ctx,
apr_bucket_brigade bb 
)
static

Definition at line 356 of file h2_c2.c.

◆ c2_hook_fixups()

static int c2_hook_fixups ( request_rec r)
static

< Module declines to handle

< Module declines to handle

Definition at line 466 of file h2_c2.c.

◆ c2_process()

static apr_status_t c2_process ( h2_conn_ctx_t conn_ctx,
conn_rec c 
)
static

Definition at line 724 of file h2_c2.c.

◆ c2_run_pre_connection()

static apr_status_t c2_run_pre_connection ( conn_rec c2,
apr_socket_t csd 
)
static

Definition at line 637 of file h2_c2.c.

◆ check_early_hints()

static void check_early_hints ( request_rec r,
const char tag 
)
static

Definition at line 420 of file h2_c2.c.

◆ check_modules()

static void check_modules ( int  force)
static

Definition at line 70 of file h2_c2.c.

◆ h2_c2_abort()

void h2_c2_abort ( conn_rec c2,
conn_rec from 
)

Abort the I/O processing of a secondary connection. And in-/output beams will return errors and c2->aborted is set.

Parameters
c2the secondary connection to abort
fromthe connection this is invoked from

Definition at line 157 of file h2_c2.c.

◆ h2_c2_child_init()

apr_status_t h2_c2_child_init ( apr_pool_t pool,
server_rec s 
)

< TCP

Definition at line 131 of file h2_c2.c.

◆ h2_c2_create()

conn_rec * h2_c2_create ( conn_rec c1,
apr_pool_t parent,
apr_bucket_alloc_t buckt_alloc 
)

Definition at line 808 of file h2_c2.c.

◆ h2_c2_destroy()

void h2_c2_destroy ( conn_rec c2)

Definition at line 145 of file h2_c2.c.

◆ h2_c2_filter_in()

static apr_status_t h2_c2_filter_in ( ap_filter_t f,
apr_bucket_brigade bb,
ap_input_mode_t  mode,
apr_read_type_e  block,
apr_off_t  readbytes 
)
static

Definition at line 181 of file h2_c2.c.

◆ h2_c2_filter_out()

static apr_status_t h2_c2_filter_out ( ap_filter_t f,
apr_bucket_brigade bb 
)
static

Definition at line 368 of file h2_c2.c.

◆ h2_c2_hook_post_read_request()

static int h2_c2_hook_post_read_request ( request_rec r)
static

< Module declines to handle

Definition at line 872 of file h2_c2.c.

◆ h2_c2_hook_process()

static int h2_c2_hook_process ( conn_rec c)
static

< Module declines to handle

< Module has served the response completely * - it's safe to die() with no more output

< Module declines to handle

Definition at line 895 of file h2_c2.c.

◆ h2_c2_log_io()

static void h2_c2_log_io ( conn_rec c2,
apr_off_t  bytes_sent 
)
static

Definition at line 138 of file h2_c2.c.

◆ h2_c2_process()

apr_status_t h2_c2_process ( conn_rec c,
apr_thread_t thread,
int  worker_id 
)

Process a secondary connection for a HTTP/2 stream request.

Definition at line 660 of file h2_c2.c.

◆ h2_c2_register_hooks()

void h2_c2_register_hooks ( void  )

Definition at line 917 of file h2_c2.c.

◆ h2_conn_mpm_name()

const char * h2_conn_mpm_name ( void  )

Definition at line 119 of file h2_c2.c.

◆ h2_mpm_supported()

int h2_mpm_supported ( void  )

Definition at line 125 of file h2_c2.c.

◆ http2_get_pollfd_from_conn()

static apr_status_t http2_get_pollfd_from_conn ( conn_rec c,
struct apr_pollfd_t pfd,
apr_interval_time_t ptimeout 
)
static

Definition at line 480 of file h2_c2.c.

Variable Documentation

◆ dummy_socket

apr_socket_t* dummy_socket
static

Definition at line 59 of file h2_c2.c.

◆ mpm_supported

int mpm_supported = 1
static

Definition at line 58 of file h2_c2.c.