]> git.ipfire.org Git - thirdparty/squid.git/blame - doc/Programming-Guide/Groups.dox
Source Format Enforcement (#1234)
[thirdparty/squid.git] / doc / Programming-Guide / Groups.dox
CommitLineData
f2a134b9 1/*
b8ae064d 2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
f2a134b9
AJ
3 *
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.
7 */
8
8b651fb3 9/**
10 \defgroup POD POD Classes
11 *
12 \par
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.
18 */
19
20/**
21 \defgroup Components Squid Components
22 */
23
24/**
25 \defgroup ServerProtocol Server-Side Protocols
26 \ingroup Components
27 \par
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
31 * caches.
32 * All requests to other proxies are sent as HTTP requests.
33 * All requests to origin-server are sent in that servers protocol.
8b651fb3 34 */
35
36/**
37 \defgroup libsquid Squid Library
9603207d 38 *
8b651fb3 39 \par
40 * These objects are provided publicly through lidsquid.la
41 */
42
43/**
44 \defgroup Tests Unit Testing
45 *
46 \par
47 * Any good application has a set of tests to ensure it stays
48 * in a good condition. Squid tends to use cppunit tests.
49 \par
a4029d6d 50 * It is preferable to automated tests for units of functionality. There
8b651fb3 51 * is a boilerplate for tests in "src/tests/testBoilerplate.[cc|h]". New
52 * tests need to be added to src/Makefile.am to build and run them during
53 * "make check". To add a new test script, just copy the references to
54 * testBoilerplate in Makefile.am adjusting the name, and likewise copy the
55 * source files. If you are testing an already tested area you may be able
56 * to just add new test cases to an existing script. I.e. to test the store
57 * some more just edit tests/testStore.h and add a new unit test method
58 * name.
59 */
60
61/**
62 \defgroup Callbacks Event Callback Functions
9603207d 63 *
8b651fb3 64 \par
65 * Squid uses events to process asynchronous actions.
a4029d6d 66 * These methods are registered as callbacks to receive notice whenever a
8b651fb3 67 * specific event occurs.
68 */
69
70/**
71 \defgroup Timeouts Timeouts
9837567d 72 * TODO: Write Documentation about Timeouts.
8b651fb3 73 */
74
75/**
76 \defgroup ServerProtocolHTTP HTTP
77 \ingroup ServerProtocol
9837567d 78 * TODO: Write Documentation about HTTP.
8b651fb3 79 */
80
81/**
82 \defgroup ServerProtocolFTPAPI Server-Side FTP API
83 \ingroup ServerProtocol
84 */
85
86/**
87 \defgroup ServerProtocolWAIS WAIS
88 \ingroup ServerProtocol
9837567d 89 * TODO: Write Documentation about Wais.
8b651fb3 90 */
91
92/**
93 \defgroup ServerProtocolPassthru Passthru
94 \ingroup ServerProtocol
9837567d 95 * TODO: Write Documentation about Passthru.
8b651fb3 96 */