1 #ifndef __TRANSSKIP_H__
2 #define __TRANSSKIP_H__
13 #ifdef __SET_IMPLEMENTATION__
24 #define INVALID_FIELD (0)
25 #define SENTINEL_KEYMIN ( 1UL)
26 #define SENTINEL_KEYMAX (~0UL)
33 #define CALLER_TO_INTERNAL_KEY(_k) ((_k) + 2)
34 #define INTERNAL_TO_CALLER_KEY(_k) ((_k) - 2)
44 #define READ_FIELD(_x,_f) \
47 if ( (_x) == INVALID_FIELD ) { RMB(); (_x) = (_f); } \
48 assert((_x) != INVALID_FIELD); \
54 #define READ_FIELD(_x,_f) ((_x) = (_f))
78 return sizeof(uint8_t) +
sizeof(uint8_t) +
sizeof(
Operator) * size;
98 #define LEVEL_MASK 0x0ff
99 #define READY_FOR_FREE 0x100
124 #define KEY_MIN ( 0U)
125 #define KEY_MAX ((~0U) - 3)
node_t * tail
Definition: transskip.h:113
Definition: transskip.h:95
Definition: transskip.h:108
NodeDesc(Desc *_desc, uint8_t _opid)
Definition: transskip.h:88
setkey_t k
Definition: transskip.h:100
node_t * next[1]
Definition: transskip.h:105
bool execute_ops(trans_skip *l, Desc *desc)
Definition: transskip.cc:909
Operator ops[]
Definition: transskip.h:83
Definition: transskip.h:68
volatile uint8_t status
Definition: transskip.h:81
Desc * desc
Definition: transskip.h:91
unsigned long setkey_t
Definition: transskip.h:9
uint32_t key
Definition: transskip.h:71
setval_t v
Definition: transskip.h:101
void * setval_t
Definition: lockfreeskip.h:6
void transskip_free(trans_skip *l)
Definition: transskip.cc:929
void init_transskip_subsystem(void)
Definition: transskip.cc:796
Allocator< Desc > * descAllocator
Definition: transskip.h:110
node_t head
Definition: transskip.h:114
void destroy_transskip_subsystem(void)
Definition: transskip.cc:809
Definition: transskip.h:74
void * setval_t
Definition: transskip.h:10
Definition: transskip.h:86
uint8_t size
Definition: transskip.h:82
uint8_t opid
Definition: transskip.h:92
NodeDesc * nodeDesc
Definition: transskip.h:103
int level
Definition: transskip.h:97
uint8_t type
Definition: transskip.h:70
trans_skip * transskip_alloc(Allocator< Desc > *_descAllocator, Allocator< NodeDesc > *_nodeDescAllocator)
Definition: transskip.cc:331
Allocator< NodeDesc > * nodeDescAllocator
Definition: transskip.h:111
static size_t SizeOf(uint8_t size)
Definition: transskip.h:76