C++ ResourcePool 0.99.13 review
DownloadResourcePool is a C++ library which can be used to pool resources of every kind
|
|
ResourcePool is a C++ library which can be used to pool resources of every kind. One very interesting side effect is that it can also be used of abstraction layer by providing a unique API for different resources of similar resource types.
Most prominent example are SQL databases. The ResourcePool does currently include a convenient way to access MySQL and Oracle databases in the same way, so that changing for MySQL to Oracle or vice-versa does not need big code changes.
What's New in This Release:
Corrected handling of NoFailoverExceptions. Previously it did just not work.
Fixed a bug which could cause undefined behavior in MultiThreadedModel when a caller had to wait for resources (when the Max limit is reached).
The argument validation of the bindout() and isnull() methods of SQLSelect(Row) commands has been corrected.
Fixed a bug in the Cache class which caused an unreasonable exception in case an already cached value is put again.
The isnull() method has been added to the Runtime selectable SQL driver (fatalmind::ResourceType::SQL).
The NoFailoverExceptions thrown in the mysql driver do now include the correct message. The messages were lost due to a missing explicit constructor call to the virtual base class.
The getFactory() method in ResourcePool is now public and returns a const reference.
Implemented some rudimentary statistics. See ResourcePool.getStats() for details.
Building improvement: -lrt is used (and not used) more correctly.
The testing framework has been extended to optionally perform testing in multiple threads. The default behavior has not been changed (make check does not use multiple threads). However when running the test programs manually you can add "-m" as argument. Each "m" does add an additional thread for testing. However, the test programs itself need also to provide such test cases.
The test cases (used with make check) do now use the complete library. This has the drawback that building must always be done in the top level directory before performing tests. However, the tests use the real library now (and not just a subset) so that the overall testing quality is a little improved.
C++ ResourcePool 0.99.13 keywords