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