2 * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
10 \defgroup POD POD Classes
13 * Classes which encapsulate POD (plain old data) in such a way
14 * that they can be used as POD themselves and passed around Squid.
15 * These objects should have a formal API for safe handling of their
16 * content, but it MUST NOT depend on any externality than itself
17 * or the standard C++ libraries.
21 \defgroup Components Squid Components
25 \defgroup ServerProtocol Server-Side Protocols
28 * These routines are responsible for forwarding cache misses
29 * to other servers, depending on the protocol. Cache misses
30 * may be forwarded to either origin servers, or other proxy
32 * All requests to other proxies are sent as HTTP requests.
33 * All requests to origin-server are sent in that servers protocol.
36 * Wais and Gopher don't receive much
37 * attention because they comprise a relatively insignificant
38 * portion of Internet traffic.
42 \defgroup libsquid Squid Library
45 * These objects are provided publicly through lidsquid.la
49 \defgroup Tests Unit Testing
52 * Any good application has a set of tests to ensure it stays
53 * in a good condition. Squid tends to use cppunit tests.
55 * It is preferrable to automated tests for units of functionality. There
56 * is a boilerplate for tests in "src/tests/testBoilerplate.[cc|h]". New
57 * tests need to be added to src/Makefile.am to build and run them during
58 * "make check". To add a new test script, just copy the references to
59 * testBoilerplate in Makefile.am adjusting the name, and likewise copy the
60 * source files. If you are testing an already tested area you may be able
61 * to just add new test cases to an existing script. I.e. to test the store
62 * some more just edit tests/testStore.h and add a new unit test method
67 \defgroup Callbacks Event Callback Functions
70 * Squid uses events to process asynchronous actions.
71 * These mehods are registered as callbacks to receive notice whenever a
72 * specific event occurs.
76 \defgroup Timeouts Timeouts
77 \todo DOCS: document Timeouts.
81 \defgroup ServerProtocolHTTP HTTP
82 \ingroup ServerProtocol
83 \todo Write Documentation about HTTP
87 \defgroup ServerProtocolFTPAPI Server-Side FTP API
88 \ingroup ServerProtocol
92 \defgroup ServerProtocolWAIS WAIS
93 \ingroup ServerProtocol
94 \todo Write Documentation about Wais
98 \defgroup ServerProtocolPassthru Passthru
99 \ingroup ServerProtocol
100 \todo Write Documentation about Passthru