#ifndef _CONNECTIONS_H_ #define _CONNECTIONS_H_ #include "first.h" #include "base.h" __attribute_cold__ void connections_free(server *srv); __attribute_cold__ void connection_graceful_shutdown_maint (server *srv); void connection_periodic_maint (server *srv, time_t cur_ts); connection * connection_accept(server *srv, server_socket *srv_sock); connection * connection_accepted(server *srv, server_socket *srv_socket, sock_addr *cnt_addr, int cnt); const char * connection_get_state(connection_state_t state); const char * connection_get_short_state(connection_state_t state); int connection_state_machine(server *srv, connection *con); handler_t connection_handle_read_post_state(server *srv, connection *con); handler_t connection_handle_read_post_error(server *srv, connection *con, int http_status); int connection_write_chunkqueue(server *srv, connection *con, chunkqueue *c, off_t max_bytes); void connection_response_reset(server *srv, connection *con); #define joblist_append(srv, con) connection_list_append(&(srv)->joblist, (con)) void connection_list_append(connections *conns, connection *con); #endif