Skip to content

Releases: FrankReiser/ReiserRT_Core

Version 4.0.1

04 Apr 17:24
Compare
Choose a tag to compare

This release modifies BlockPoolDeleter such that it may be queried for the number of array elements that are managed by the unique_ptr array specialization returned by the getBlock operation. While making this change a number of other class member functions that should have been declared const were fixed. Additionally, some noexcept were also added.

Version 3.0.2

12 Oct 19:38
Compare
Choose a tag to compare

This release establishes that compiler warnings are to be considered compiler errors.

Version 2.5.2

12 Oct 19:37
Compare
Choose a tag to compare

This release establishes that compiler warnings are to be considered compiler errors.

Version 3.0.1

24 Jan 18:56
0729dd7
Compare
Choose a tag to compare

This release adds template class "BlockPool" to the project. "BlockPool" requires a c++17 build and for reliable interfacing, a c++17 compilation of client code. It is possible you can get away with a c++11 client compilation, dependent on the actual compiler. "BlockPool" is much like "ObjectPool" but delivers an array of objects wrapped in a unique pointer with a custom deleter. See README file for details.

The version 2.X branch will be maintained for some time for C++11 compatibility but, will never incorporate the "BlockPool" feature. If you do not require the functionality of "BlockPool" and do not have a suitable compiler, use the latest 2.X release.

Version 2.5.1

12 Oct 19:35
Compare
Choose a tag to compare

This is primarily a maintenance release. This release is being made as perhaps the last C++11 branch as we move to C++17 support, necessary for upcoming "BlockPool" feature. This "BlockPool" feature cannot be reliably interfaced with C++11. Some compilers allow the syntax needed and others do not. This release does not include "BlockPool".

Changes made here are mostly in support of the non-included "BlockPool" template class. However, there a few efficiency improvements and even a pretty egregious bug fix. Changes from Version 2.4.2 are described below:

  1. Renamed "ObjectPoolBase" to "MemoryPoolBase". This was for sanity as MemoryPoolBase will also be the basis for the upcoming "BlockPool".
  2. Moved "createDeleter" operation out of "MemoryPoolBase" into "ObjectPool" as it really did not belong there and was not suitable for the upcoming "BlockPool". "BlockPool" will require a differing deleter type.
  3. Extracted "MemoryPoolDeleterBase" from "ObjectPoolDeleterBase" for reusability by upcoming "BlockPool".
  4. Added an operation to query the padded element size in addition to the un-padded element size. This information is required for the upcoming "BlockPool".
  5. Extracted local "RawMemoryManager" class from the "ObjectPool", "createObj" operation into a nested class within "MemoryPoolBase" for greater reuse.
  6. Fixed a "Semaphore" compile issue experienced under GitHub's workflow build. We needed to explicitly include "cstddef".
  7. All function object types used by "Semaphore", "RingBufferGuarded" and "MessageQueue" are now passed by constant reference. No copies needed.
  8. Fixed a fairly significant bug that has gone unnoticed for a while where MessageQueue primed it's raw ring buffer with incorrectly aligned elements. It need to specify the padded size, not the un-padded size.
  9. Other CLang-Tidy work and Documentation Tweaking.

Version 2.4.2

22 Nov 20:09
Compare
Choose a tag to compare

Downgraded the required CMake version from 3.16 to 3.15 for a petalinux client. Polished up the CMake script code based on lessons learned elsewhere.

Version 2.4.1

20 Aug 15:28
Compare
Choose a tag to compare

This release modifies MessageQueueBase::AutoDispatchLock to add "Basic Lockable" duck type operations, lock and unlock. It makes it more useful in cases where a unique_lock or unique_lock type functionality is needed.

Version 2.3.1

07 Jul 18:45
Compare
Choose a tag to compare

A MessageQueue purge operation has been added but there are some caveats. It must be used with care. Refer to the documentation within the header file.

Version 2.2.3

22 May 01:07
Compare
Choose a tag to compare

This is a minor release that provides additional functionality for MessageQueueBase::AutoDispatchLock. We have added a 'native_handle' operation to return a native mutex handle that can be directly used with native API functions. This allows AutoDispatchLock to be utilized with native condition variables directly.

Version 2.2.2

29 Apr 16:23
Compare
Choose a tag to compare

Minor inconsequential changes from previous release.