Honeycomb  0.1
Component-Model Framework
Public Types | Public Member Functions | Static Public Attributes | List of all members
honey::lockfree::HazardMemConfig Struct Reference

Configuration interface for memory manager. Inherit this class and override types and static members. More...

#include <HazardMem.h>

Inheritance diagram for honey::lockfree::HazardMemConfig:
Inheritance graph
[legend]

Public Types

typedef HazardMemNode Node
 
typedef HazardMemLink< NodeLink
 
typedef SmallAllocator< NodeAlloc
 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...
 

Detailed Description

Configuration interface for memory manager. Inherit this class and override types and static members.

Member Typedef Documentation

Allocator for nodes, should be lock-free.

Member Function Documentation

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.

Member Data Documentation

const uint8 honey::lockfree::HazardMemConfig::hazardMax = 6
static

Number of thread-local hazard pointers.

const uint8 honey::lockfree::HazardMemConfig::linkDelMax = linkMax
static

Number of links per node that may transiently point to a deleted node.

const uint8 honey::lockfree::HazardMemConfig::linkMax = 2
static

Number of links per node.


The documentation for this struct was generated from the following file: