BDE 4.14.0 Production release
Loading...
Searching...
No Matches
balb.h
Go to the documentation of this file.
1/// @file balb.h
2///
3///
4/// @defgroup balb Package balb
5/// @brief Basic Application Library Basis (balb)
6/// @addtogroup bal
7/// @{
8/// @addtogroup balb
9/// [balb]: group__balb.html
10/// @{
11///
12/// # Purpose {#balb-purpose}
13/// Provide common application-level facilities.
14///
15/// # Mnemonic {#balb-mnemonic}
16/// Basic Application Library Basis (balb)
17///
18/// @see balm
19///
20/// # Description {#balb-description}
21/// The 'balb' package provides support for an assortment of common
22/// application-level services (e.g., command-line processing). In particular,
23/// 'balb' includes the following:
24///
25/// * A mechanism for monitoring and reporting the observable performance of a
26/// process.
27///
28/// * Classes for (1) defining commands (as short strings), (2) passing these
29/// commands through a pipe-channel to a running process, and (3) registering
30/// callback functions to be invoked upon reception of such commands.
31///
32/// * A multi-process performance reporting mechanism and a value-semantic type
33/// to represent metrics. Note that the entire {'balm'} package is dedicated
34/// to metrics gathering.
35///
36/// * A mechanism that allows clients to monitor whether a resource is being
37/// consumed at a particular rate.
38///
39/// * A mechanism that enables clients to monitor and control the use of a
40/// resource such that the peak consumption rate and the sustained consumption
41/// rate do not exceed their respective configured limits.
42///
43/// * Generic proctor to automatically reserve and release units from a rate
44/// controlling object.
45///
46/// ## Hierarchical Synopsis
47///
48/// The 'balb' package currently has 10 components having 2 levels of physical
49/// dependency. The list below shows the hierarchical ordering of the components.
50/// The order of components within each level is not architecturally significant,
51/// just alphabetical.
52/// @code
53/// 2. balb_filecleanerutil
54/// balb_pipetaskmanager
55/// balb_ratelimiter
56/// balb_reservationguard
57///
58/// 1. balb_controlmanager
59/// balb_filecleanerconfiguration
60/// balb_leakybucket
61/// balb_performancemonitor
62/// balb_pipecontrolchannel
63/// balb_testmessages
64/// @endcode
65///
66/// ## Component Synopsis
67///
68/// @ref balb_controlmanager :
69/// Provide a mechanism for mapping control messages to callbacks.
70///
71/// @ref balb_filecleanerconfiguration :
72/// Provide an attribute class for file cleaner configuration.
73///
74/// @ref balb_filecleanerutil :
75/// Provide a utility class for configuration-based file removal.
76///
77/// @ref balb_leakybucket :
78/// Provide a mechanism to monitor the consumption rate of a resource.
79///
80/// @ref balb_performancemonitor :
81/// Provide a mechanism to collect process performance measures.
82///
83/// @ref balb_pipecontrolchannel :
84/// Provide a mechanism for reading control messages from a named pipe.
85///
86/// @ref balb_pipetaskmanager :
87/// Provide a pipe-based mechanism to process task control messages.
88///
89/// @ref balb_ratelimiter :
90/// Provide a mechanism to limit peak and sustained consumption rates.
91///
92/// @ref balb_reservationguard :
93/// Provide a generic proctor for rate controlling objects.
94///
95/// @ref balb_testmessages :
96/// Provide value-semantic attribute classes.
97///
98/// @}
99/** @} */