diff options
author | Ryan Bloom <rbb@apache.org> | 2000-07-31 05:14:36 +0200 |
---|---|---|
committer | Ryan Bloom <rbb@apache.org> | 2000-07-31 05:14:36 +0200 |
commit | 92a253dc8902572417f34f3e44f7ecb30aabaebc (patch) | |
tree | 915b93c340694fb10fe349a2ef7bcf94a1b17db0 /include/http_connection.h | |
parent | Note the patch for graceful restarts in the STATUS file (diff) | |
download | apache2-92a253dc8902572417f34f3e44f7ecb30aabaebc.tar.xz apache2-92a253dc8902572417f34f3e44f7ecb30aabaebc.zip |
Document http_connection.h using ScanDoc
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85959 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r-- | include/http_connection.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/include/http_connection.h b/include/http_connection.h index 4bda0a95d2..cf19ea7506 100644 --- a/include/http_connection.h +++ b/include/http_connection.h @@ -63,18 +63,84 @@ extern "C" { #endif #ifdef CORE_PRIVATE +/** + * Create a new connection. + * @param p Pool to allocate data structures out of + * @param server The server to create the connection for + * @param inout The BUFF to use for all communication with the client + * @param remaddr The remote address + * @param addr The server's local address + * @param id ID of this connection; unique at any point in time. + */ conn_rec *ap_new_connection(ap_pool_t *p, server_rec *server, BUFF *inout, const struct sockaddr_in *remaddr, const struct sockaddr_in *saddr, long id); + +/** + * Create a new connection using APR primitives. This is basically a + * wrapper around ap_new_connection + * @param p Pool to allocate data structures out of. + * @param server The server to create the connection for + * @param inout The BUFF to use for all communication with the client + * @param conn_socket The socket we are creating the connection on. + * @param id ID of this connection; unique at any point in time. + */ conn_rec *ap_new_apr_connection(ap_pool_t *p, server_rec *server, BUFF *inout, ap_socket_t *conn_socket, long id); + +/** + * This is the protocol module driver. This calls all of the + * pre-connection and connection hooks for all protocol modules. + * @param c The connection on which the request is read + * @deffunc void ap_process_connection(conn_rec *) + */ CORE_EXPORT(void) ap_process_connection(conn_rec *); + +/** + * The http protocol handler. This makes Apache server http requests + * @param c The connection on which the request is read + * @return OK or DECLINED + */ int ap_process_http_connection(conn_rec *); + +/** + * This function is responsible for the following cases: + * <PRE> + * we now proceed to read from the client until we get EOF, or until + * MAX_SECS_TO_LINGER has passed. the reasons for doing this are + * documented in a draft: + * + * http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-connection-00.txt + * + * in a nutshell -- if we don't make this effort we risk causing + * TCP RST packets to be sent which can tear down a connection before + * all the response data has been sent to the client. + * </PRE> + * @param c The connection we are closing + */ void ap_lingering_close(conn_rec *); #endif /* Hooks */ +/** + * This hook gives protocol modules an opportunity to set everything up + * before calling the protocol handler. ALL pre-connection hooks are + * always run. + * @param c The connection on which the request has been received. + * @return OK or DECLINED + * @deffunc int ap_run_pre_connection(conn_rec *c) + */ AP_DECLARE_HOOK(int,pre_connection,(conn_rec *)) + +/** + * This hook implements different protocols. After a connection has been + * established, the protocol module must read and serve the request. This + * function does that for each protocol module. The first protocol module + * to handle the request is the last module run. + * @param c The connection on which the request has been received. + * @return OK or DECLINED + * @deffunc int ap_run_process_connection(conn_rec *c) + */ AP_DECLARE_HOOK(int,process_connection,(conn_rec *)) #ifdef __cplusplus |