30module AP_MODULE_DECLARE_DATA echo_module;
114 sizeof(
ws->client64));
124 sizeof(
ws->request) -
sizeof(
"ECHO ") + 1);
156 "ProtocolEcho: Failure reading from %s",
164 "ProtocolEcho: Error - read empty brigade from %s!",
182 "ProtocolEcho: Failure writing to %s",
200 "Run an echo server on this host"),
Symbol export macros and hook functions.
const char apr_size_t len
APR-UTIL Buckets/Bucket Brigades.
void ap_hook_process_connection(ap_HOOK_process_connection_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
#define ap_get_module_config(v, m)
#define AP_DECLARE_MODULE(foo)
#define AP_INIT_FLAG(directive, func, mconfig, where, help)
apr_status_t ap_pass_brigade(ap_filter_t *filter, apr_bucket_brigade *bucket)
apr_status_t ap_get_brigade(ap_filter_t *filter, apr_bucket_brigade *bucket, ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes)
apr_socket_t * ap_get_conn_socket(conn_rec *c)
#define APR_STATUS_IS_TIMEUP(s)
#define APR_STATUS_IS_EOF(s)
#define APR_BRIGADE_INSERT_TAIL(b, e)
#define APR_BUCKET_NEXT(e)
#define APR_BRIGADE_EMPTY(b)
#define APR_BRIGADE_SENTINEL(b)
#define APR_BRIGADE_FIRST(b)
#define apr_bucket_read(e, str, len, block)
apr_bucket_brigade * bbIn
#define STANDARD20_MODULE_STUFF
void * memchr(const void *s, int c, size_t n)
apr_vformatter_buff_t * c
#define apr_pcalloc(p, size)
const char * ap_get_remote_host(conn_rec *conn, void *dir_config, int type, int *str_is_ip)
Apache connection library.
static apr_status_t brigade_peek(apr_bucket_brigade *bbIn, char *buff, apr_size_t bufflen)
static void * create_echo_server_config(apr_pool_t *p, server_rec *s)
static const command_rec echo_cmds[]
static const char * echo_on(cmd_parms *cmd, void *dummy, int arg)
static void register_hooks(apr_pool_t *p)
static int update_echo_child_status(ap_sb_handle_t *sbh, int status, conn_rec *c, apr_bucket_brigade *last_echoed)
static int process_echo_connection(conn_rec *c)
Apache scoreboard library.
#define SERVER_BUSY_WRITE
void ap_time_process_request(ap_sb_handle_t *sbh, int status)
#define SERVER_BUSY_KEEPALIVE
worker_score * ap_get_scoreboard_worker(ap_sb_handle_t *sbh)
Structure to store things which are per connection.
A structure to store information for each virtual server.
apr_status_t apr_socket_timeout_set(apr_socket_t *sock, apr_interval_time_t t)