[#BloombergLP-balb]
= xref:BloombergLP.adoc[BloombergLP]::balb
:relfileprefix: ../
:mrdocs:

Package namespace for basic application library components&period;

== Types

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balb/Choice1.adoc[`Choice1`] 
| 
| xref:BloombergLP/balb/Choice2.adoc[`Choice2`] 
| 
| xref:BloombergLP/balb/Choice3.adoc[`Choice3`] 
| 
| xref:BloombergLP/balb/Choice4.adoc[`Choice4`] 
| 
| xref:BloombergLP/balb/Choice5.adoc[`Choice5`] 
| 
| xref:BloombergLP/balb/ControlManager.adoc[`ControlManager`] 
| Dispatch control messages to callbacks by name&period;
| xref:BloombergLP/balb/CustomInt.adoc[`CustomInt`] 
| This class provides a customized integer type used by test messages&period;
| xref:BloombergLP/balb/CustomString.adoc[`CustomString`] 
| This class provides a customized string type used by test messages&period;
| xref:BloombergLP/balb/Enumerated.adoc[`Enumerated`] 
| This struct provides a test enumeration type used by test messages&period;
| xref:BloombergLP/balb/FeatureTestMessage.adoc[`FeatureTestMessage`] 
| 
| xref:BloombergLP/balb/FileCleanerConfiguration.adoc[`FileCleanerConfiguration`] 
| This simply constrained (value&hyphen;semantic) attribute class characterizes configuration parameters for a file cleaner&period; See the  for information on the class attributes&period; Note that the class invariants are identically the constraints on the individual attributes&period;
| xref:BloombergLP/balb/FileCleanerUtil.adoc[`FileCleanerUtil`] 
| This utility class provides functions relating to file clean up&period;
| xref:BloombergLP/balb/LeakyBucket.adoc[`LeakyBucket`] 
| This mechanism implements a leaky bucket that allows clients to monitor whether a resource is being consumed at a particular rate&period; The behavior of a leak bucket is determined by two properties&colon; the drain rate (in units&sol;s) and capacity (in units), both of which can be specified at construction or using the `setRateAndCapacity` method&period;
| xref:BloombergLP/balb/PerformanceMonitor.adoc[`PerformanceMonitor`] 
| Provides a mechanism to collect performance statistics for an arbitrary number of processes running on the local machine&period;
| xref:BloombergLP/balb/PerformanceMonitor_LinuxProcStatistics.adoc[`PerformanceMonitor&lowbar;LinuxProcStatistics`] 
| Describes the fields present in &sol;proc&sol;&lt;pid&gt;&sol;stat&period; For a complete description of each field, see `man proc`&period;
| xref:BloombergLP/balb/PipeControlChannel.adoc[`PipeControlChannel`] 
| This class is a mechanism for reading control messages from a named pipe&period; Use `start` to spawn a thread that handles messages arriving at the pipe, and `shutdown` to stop reading&period; `stop` blocks until the processing thread has been terminated by a call to `shutdown` (either before `stop` is called, or from some other thread)&period;
| xref:BloombergLP/balb/PipeControlChannel_CStringUtil.adoc[`PipeControlChannel&lowbar;CStringUtil`] 
| This component&hyphen;private utility `struct` provides a namespace for the `flatten` overload set intended to be used in concert with an overload set consisting of a function template with a deduced argument and an non&hyphen;template overload accepting a `const char &ast;`&period; The actual implementation of the functionality would be in the `const char &ast;` overload whereas the purpose of the function template is to invoke the `const char &ast;` overload with a null&hyphen;terminated string&period;
| xref:BloombergLP/balb/PipeTaskManager.adoc[`PipeTaskManager`] 
| This class provides a mechanism route messages received on a named pipe to the registered handler (functor)&period;
| xref:BloombergLP/balb/RateLimiter.adoc[`RateLimiter`] 
| This mechanism implements a rate limiter that allows clients to monitor and control the usage of a resource such that the rate of consumption stays within configured limits&period; The behavior of a rate limiter is determined by four properties&colon; the sustained rate (in units&sol;s), the sustained&hyphen;rate time&hyphen;window (in seconds), the peak rate (in units&sol;s), and the peak&hyphen;rate time&hyphen;window (in seconds)&period; All of these properties can be specified at construction or using the `setRateLimits` method&period;
| xref:BloombergLP/balb/Request.adoc[`Request`] 
| 
| xref:BloombergLP/balb/ReservationGuard.adoc[`ReservationGuard`] 
| This class template implements a proctor for reserving and cancelling units in a rate controlling object&period;
| xref:BloombergLP/balb/Response.adoc[`Response`] 
| 
| xref:BloombergLP/balb/Sequence1.adoc[`Sequence1`] 
| 
| xref:BloombergLP/balb/Sequence2.adoc[`Sequence2`] 
| 
| xref:BloombergLP/balb/Sequence3.adoc[`Sequence3`] 
| 
| xref:BloombergLP/balb/Sequence4.adoc[`Sequence4`] 
| 
| xref:BloombergLP/balb/Sequence5.adoc[`Sequence5`] 
| 
| xref:BloombergLP/balb/Sequence6.adoc[`Sequence6`] 
| 
| xref:BloombergLP/balb/SequenceWithAnonymity.adoc[`SequenceWithAnonymity`] 
| 
| xref:BloombergLP/balb/SequenceWithAnonymityChoice.adoc[`SequenceWithAnonymityChoice`] 
| 
| xref:BloombergLP/balb/SequenceWithAnonymityChoice1.adoc[`SequenceWithAnonymityChoice1`] 
| 
| xref:BloombergLP/balb/SequenceWithAnonymityChoice2.adoc[`SequenceWithAnonymityChoice2`] 
| 
| xref:BloombergLP/balb/SimpleRequest.adoc[`SimpleRequest`] 
| 
| xref:BloombergLP/balb/Testmessages.adoc[`Testmessages`] 
| This class serves as a place holder to reserve a type having the same name as this component&period; Doing so ensures that such a type cannot be defined outside of this component in the current namespace&period;
| xref:BloombergLP/balb/UnsignedSequence.adoc[`UnsignedSequence`] 
| 
| xref:BloombergLP/balb/VoidSequence.adoc[`VoidSequence`] 
| 
|===


== Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/balb/operator_lshift-0b3.adoc[`operator&lt;&lt;`] 
| Stream insertion operators
| xref:BloombergLP/balb/operator_eq-02.adoc[`operator&equals;&equals;`] 
| Equality operators
| xref:BloombergLP/balb/operator_not_eq-012.adoc[`operator!&equals;`] 
| Inequality operators
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
