B2BITS FIX Antenna HFT
1.0.15
|
Classes | |
struct | ObjPoolBiListElem< ElemT > |
struct | ObjPoolElem< ElemT > |
Typedefs | |
typedef unsigned | obj_idx_t |
Enumerations | |
enum | ObjPoolGrowStrategy { NoGrowth, GrowByAllocNewElements, GrowByAllocNewPool } |
Functions | |
template<class ElemT > | |
struct | __attribute__ ((aligned(64))) object_pool |
ElemT * | get_object (obj_idx_t *obj_idx=NULL) |
ElemT * | get_object_nolock (obj_idx_t *obj_idx) |
ElemT * | get_object_NOLOCK (obj_idx_t *obj_idx) |
ElemT * | get_object_slave () |
ElemT * | get_object_slave_NOLOCK () |
ElemT * | getObjectByIdx (obj_idx_t idx) |
int | idxOf (ElemT *elem) |
void | init (int staticPoolObjcount, enum ObjPoolGrowStrategy growStrategy) |
bool | isSlave () |
object_pool (object_pool< ElemT > *master) | |
void | reset () |
void | return_object (ElemT *elem) |
void | return_object_NOLOCK (ElemT *elem) |
bool | return_object_slave (ElemT *elem) |
bool | return_object_slave_NOLOCK (ElemT *elem) |
~object_pool () | |
Variables | |
object_pool< ElemT > *volatile | curr_ |
ElemT * | elems_ |
enum ObjPoolGrowStrategy | growStrategy_ |
object_pool< ElemT > * | master_ |
bilist< object_pool< ElemT > > | poolChain_ |
unsigned | staticPoolSize_ |
typedef unsigned obj_idx_t |
enum ObjPoolGrowStrategy |
struct __attribute__ | ( | (aligned(64)) | ) |
References curr_, elems_, master_, and object_pool().
ElemT* get_object | ( | obj_idx_t * | obj_idx = NULL | ) |
ElemT* get_object_nolock | ( | obj_idx_t * | obj_idx | ) |
ElemT* get_object_NOLOCK | ( | obj_idx_t * | obj_idx | ) |
References atom_addrwide_read, atom_addrwide_write, curr_, elems_, GrowByAllocNewElements, GrowByAllocNewPool, growStrategy_, likely, NoGrowth, poolChain_, and staticPoolSize_.
ElemT* get_object_slave | ( | ) |
References atom_addrwide_read, atomic_addrwide_bool_compare_swap, cpu_relax, elems_, and likely.
ElemT* get_object_slave_NOLOCK | ( | ) |
References atom_addrwide_read, atom_addrwide_write, and elems_.
ElemT* getObjectByIdx | ( | obj_idx_t | idx | ) |
References elems_, GrowByAllocNewElements, growStrategy_, and staticPoolSize_.
int idxOf | ( | ElemT * | elem | ) |
References elems_, and staticPoolSize_.
void init | ( | int | staticPoolObjcount, |
enum ObjPoolGrowStrategy | growStrategy | ||
) |
References elems_, growStrategy_, poolChain_, reset(), and staticPoolSize_.
Referenced by __attribute__(), fifo_create(), and message_queue_create().
|
inline |
References master_.
Referenced by return_object(), and return_object_NOLOCK().
|
explicit |
Referenced by __attribute__().
void reset | ( | ) |
References atom_addrwide_write, elems_, and staticPoolSize_.
Referenced by __attribute__(), Engine::IndexFileT< FileT >::Data::Data(), and init().
void return_object | ( | ElemT * | elem | ) |
void return_object_NOLOCK | ( | ElemT * | elem | ) |
bool return_object_slave | ( | ElemT * | elem | ) |
References atom_addrwide_read, atom_addrwide_write, atomic_addrwide_bool_compare_swap, BARRIER, cpu_relax, elems_, likely, master_, and staticPoolSize_.
Referenced by return_object().
bool return_object_slave_NOLOCK | ( | ElemT * | elem | ) |
References atom_addrwide_read, atom_addrwide_write, elems_, master_, and staticPoolSize_.
Referenced by return_object_NOLOCK().
~object_pool | ( | ) |
References elems_, and poolChain_.
object_pool< ElemT >* volatile curr_ |
Referenced by __attribute__(), get_object(), get_object_nolock(), and get_object_NOLOCK().
ElemT* elems_ |
enum ObjPoolGrowStrategy growStrategy_ |
Referenced by get_object(), get_object_nolock(), get_object_NOLOCK(), getObjectByIdx(), init(), return_object(), and return_object_NOLOCK().
object_pool< ElemT >* master_ |
Referenced by __attribute__(), isSlave(), return_object_slave(), and return_object_slave_NOLOCK().
bilist< object_pool< ElemT > > poolChain_ |
Referenced by get_object(), get_object_nolock(), get_object_NOLOCK(), init(), and ~object_pool().
unsigned staticPoolSize_ |