Commit | Line | Data |
---|---|---|
c08bc448 GMF |
1 | 1. Introduction |
2 | ======================================= | |
3 | This application provides means to check the availability of remote hosts | |
4 | through pings to them. | |
5 | ||
6 | ||
7 | 1.1. Rationale | |
8 | --------------------------------------- | |
9 | The application uses ICMP echo requests messages to verify if a given host | |
10 | is available or not. | |
11 | ||
12 | The host's address can be an IP or a DNS. | |
13 | ||
14 | ||
15 | 1.2. How to use | |
16 | --------------------------------------- | |
17 | There are many ways to invoke the application, the simplest is just type: | |
18 | ./libpingcheck | |
19 | which uses the configuration values from the configuration file (describled in | |
20 | section 4.Configuration file). | |
21 | ||
703f4d65 | 22 | |
c08bc448 GMF |
23 | 1.3. Resources |
24 | --------------------------------------- | |
25 | Further information about the problem domain can be found in the following | |
26 | resources: | |
27 | - http://tools.ietf.org/html/rfc792 | |
28 | - http://en.wikipedia.org/wiki/Ping | |
29 | - http://en.wikipedia.org/wiki/Internet_Control_Message_Protocol | |
30 | ||
31 | ||
32 | ||
33 | 2. Code Conventions | |
703f4d65 GMF |
34 | ======================================= |
35 | This section describes the code conventions that must be followed when maintain | |
36 | this code. | |
37 | ||
38 | ||
c08bc448 GMF |
39 | 2.1. Data Types |
40 | --------------------------------------- | |
41 | This section is a guideline about the type you MUST use when declaring | |
42 | variables and constants. These types were chose to provide portability and | |
43 | improve code reradability. | |
44 | ||
45 | - Use the std::string to represent array of characters. | |
46 | ||
47 | - Use int32_t, int16_t and int8_t (or their unsigned couter parts) - instead of | |
48 | int, short and char, respectively - when the variable or constant MUST have a | |
49 | specific size (e.g. like in the protocol headers). This documents that the | |
50 | variable has the given number of bits. This states clear the intent of the | |
51 | original programmer and avoids improper modifications. | |
52 | ||
53 | - Use int or uint for regular integer numbers that do not require any specific | |
54 | size. | |
55 | ||
56 | - Use std::size_t for integers that represent sizes of vectors, objects or | |
57 | buffers. Thus leaving the size difinition to the platform. | |
58 | ||
59 | ||
60 | 2.2. Coding Style | |
703f4d65 | 61 | --------------------------------------- |
c08bc448 GMF |
62 | The coding style used in this program is in accordance with the Intra2net, |
63 | which can be found in the following source: | |
64 | ||
65 | - http://intranet/support_wiki/doku.php?id=entwicklung:codingstyle | |
66 | ||
67 | ||
68 | 2.3. Versioning | |
69 | --------------------------------------- | |
70 | Version is built as follows: | |
71 | major.minor[-[a|b|rc]] | |
72 | where: | |
73 | - major represents big changes in application functionality. | |
74 | - minor means small changes of bug fixes. | |
75 | - a, b and rc stand for Alpha, Beta and Release Candidate respectivelly. Though | |
76 | they are optional and not required in public release. | |
77 | ||
78 | ||
703f4d65 | 79 | |
c08bc448 GMF |
80 | 3. Source Code |
81 | ======================================= | |
82 | In this section is presented an overview of the source code and key design | |
83 | decisions. | |
84 | ||
85 | ||
86 | 3.1. Main directories | |
87 | --------------------------------------- | |
88 | The sources are spread over these distincts directories: | |
89 | - src: contains the main application. | |
90 | - test: where is located the unit tests. | |
91 | - conf: keeps default and example configuration files. | |
92 | ||
93 | ||
94 | ||
95 | 4. Configuration file | |
96 | ======================================= | |
703f4d65 | 97 | |
703f4d65 | 98 |