-
Notifications
You must be signed in to change notification settings - Fork 318
BDE 3.0 Release Notes
BDE 3.0 includes a large body of code marked with a notice at the top
indicating the source code does not conform to current BDE coding guidelines.
This source-code is generally of high-quality, and is used in production at
Bloomberg, but predates the BDE coding standards -- some of it, by many years.
We expect some of these new packages to be of interest to open-source users,
while others we expect will not be. For example the BTL library (BDE Transport
Library) predates more full-featured open-source libraries (e.g., Boost asio
,
libuv
), and we expect it would not interest developers starting new projects.
We are distributing all of this code with an open-source license to support the
future open-source release of existing software that depends on these
libraries.
The following table describes the purpose of each of the new packages in BDE 3.0, and whether we feel it would of interest to a new C++ project:
Package | Status | Purpose |
---|---|---|
ball |
Recommended | Logging |
balst |
Recommended | Stacktraces (debugging) |
baltzo |
Recommended | Olson (tz) timezone information |
bdlcc |
Recommended | Specialized thread-safe containers |
bdlc |
Recommended | Specialized containers |
bdlb |
Recommended | Assorted utility classes (bit-utilities, variant, nullable-value, etc) |
bdlde |
Recommended | Widely used encodings (e.g., base64, md5, utf-8, utf-16) |
bdlmt |
Recommended | Thread pools and time-based event scheduling |
bdlsb |
Recommended |
std::streambuf imps. for user-supplied memory |
| |
balm
| Incomplete | Metrics gathering [1]
balber
| Incomplete | Messaging, BER [2]
baljsn
| Incomplete | Messaging, JSON [2]
balxml
| Incomplete | Messaging, XML [2]
bdlat
| Incomplete | Messaging types [2]
| |
balb
| Not Recommended | Process control via named pipes
bslmt
| Not Recommended | C++03-compatible platform-independent thread library [3]
btl*
| Not Recommended | Network transport library [4]
-
Recommended : A package we recommend.
-
Incomplete : Will be useful after open-source release of additional, related software (e.g., additional components, code generators)
-
Not Recommended: A package not recommended for new development as there is a more standard, or more fully featured open-source alternative.
[1] For now, users must supply their own publication code; an open-source publication component planned.
[2] The messaging sub-system will be awkward to use until we open-source the associated code generator.
[3] We recommend new software written with C++11/14 use equivalent types introduced in the C++ standard.
[4] Useful: btls_leakybucket
, btls_ratelimiter
, and
btls_reservationguard
support general, rate-based resource management.