2 * Copyright (C) 1996-2021 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 preferable 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 methods are registered as callbacks to receive notice whenever a
72 * specific event occurs.
76 \defgroup Timeouts Timeouts
77 * TODO: Write Documentation about 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.