Skip to content

Proposal: Isolate ACE Dependencies

Justin Wilson edited this page Nov 17, 2023 · 1 revision

Various users of OpenDDS use frameworks like BOOST and POCO which are alternatives to ACE. Furthermore, C++ implementations continue to expand and provide more and more of the functionality provided by ACE.

After migrating to C++11, we should take stock of our current ACE dependencies and try to isolate them into utility class APIs that could be implemented using non-ACE frameworks like BOOST and POCO. This would allow users to choose which OS-abstraction framework OpenDDS utilizes which, in the ideal case, would be framework they are already using.

A non-exhaustive list of ACE dependency areas that won’t be eliminated by migrating to C++11 includes

  • Threading and Thread Pools
  • Logging
  • Message Buffers