Honeycomb
0.1
Component-Model Framework
|
Configuration interface for memory manager. Inherit this class and override types and static members. More...
#include <HazardMem.h>
Public Types | |
typedef HazardMemNode | Node |
typedef HazardMemLink< Node > | Link |
typedef SmallAllocator< Node > | Alloc |
Allocator for nodes, should be lock-free. More... | |
Public Member Functions | |
void | cleanUpNode (Node &node) |
Update all links in the node to point to active (non-deleted) nodes. More... | |
void | terminateNode (Node &node, bool concurrent) |
Remove all links to other nodes. If concurrent is false then the faster storeRef can be used instead of casRef. More... | |
Static Public Attributes | |
static const uint8 | linkMax = 2 |
Number of links per node. More... | |
static const uint8 | linkDelMax = linkMax |
Number of links per node that may transiently point to a deleted node. More... | |
static const uint8 | hazardMax = 6 |
Number of thread-local hazard pointers. More... | |
Configuration interface for memory manager. Inherit this class and override types and static members.
Allocator for nodes, should be lock-free.
void honey::lockfree::HazardMemConfig::cleanUpNode | ( | Node & | node | ) |
Update all links in the node to point to active (non-deleted) nodes.
void honey::lockfree::HazardMemConfig::terminateNode | ( | Node & | node, |
bool | concurrent | ||
) |
Remove all links to other nodes. If concurrent is false then the faster storeRef can be used instead of casRef.
|
static |
Number of thread-local hazard pointers.
Number of links per node that may transiently point to a deleted node.
|
static |
Number of links per node.