|
xenium
|
A generalized implementation of epoch based reclamation. More...
#include <generic_epoch_based.hpp>
Public Types | |
| template<class... Policies> | |
| using | with = generic_epoch_based< typename Traits::template with< Policies... > > |
| Customize the reclamation scheme with the given policies. More... | |
A generalized implementation of epoch based reclamation.
For general information about the interface of the reclamation scheme see Reclamation scheme interface.
This implementation is parameterized and can be configured in many ways. For example:
For ease of use these aliases are already predefined.
This class does not take a list of policies, but a Traits type that can be customized with a list of policies. Use the with<> template alias to pass your custom policies (see the previous examples for epoch_based, new_epoch_based and debra).
The following policies are supported:
xenium::policy::scan_frequencyxenium::policy::scanall_threads, one_thread and n_threads. (defaults to all_threads)xenium::policy::abandonnever, always and when_exceeds_threshold. (defaults to never)xenium::policy::region_extensionregion_guard should have. (defaults to region_extension::eager)| Traits |
| using xenium::reclamation::generic_epoch_based< Traits >::with = generic_epoch_based<typename Traits::template with<Policies...> > |
Customize the reclamation scheme with the given policies.
The given policies are applied to the current configuration, replacing previously specified policies of the same type.
The resulting type is the newly configured reclamation scheme.
| Policies | list of policies to customize the behaviour |
1.8.17