1 #ifndef LIBFASTER_WORKERFDD_H
2 #define LIBFASTER_WORKERFDD_H
6 #include <unordered_map>
8 #include "workerFddBase.h"
20 template <
class K,
class T>
26 class workerFdd :
public workerFddBase{
30 static std::unordered_map<fddType, int> hAssign;
31 static std::unordered_map<fddType, int> khAssign;
32 static void * dLHandler[3][7];
33 static std::unordered_map<char, void *> funcTable[3][7];
35 void * load(
const std::string);
36 void loadSym(dFuncName funcName,
const std::string symbolName);
43 workerFdd(fddType kt, fddType t);
44 workerFdd(
unsigned long int ident, fddType t);
45 workerFdd(
unsigned long int ident, fddType t,
size_t size);
46 workerFdd(
unsigned long int ident, fddType kt, fddType t);
47 workerFdd(
unsigned long int ident, fddType kt, fddType t,
size_t size);
54 void * getItem(
size_t address);
60 void setSize(
size_t s);
62 void deleteItem(
void * item);
66 void setData(
void * d ,
size_t size );
67 void setData(
void * d ,
size_t * lineSizes ,
size_t size );
68 void setData(
void * k ,
void * d ,
size_t size );
69 void setData(
void * k ,
void * d ,
size_t *lineSizes ,
size_t size );
72 void setDataRaw(
void * data,
size_t size)
override;
73 void setDataRaw(
void * data,
size_t *lineSizes,
size_t size);
74 void setDataRaw(
void *k,
void *d,
size_t s);
75 void setDataRaw(
void *k,
void *d,
size_t *l,
size_t s);
77 size_t * getLineSizes();
79 void insert(
void * k,
void * in,
size_t s);
80 void insertl(
void * in);
88 void apply(
void * func UNUSED, fddOpType op UNUSED, workerFddBase * dest UNUSED, fastCommBuffer & comm UNUSED){}
89 void preapply(
unsigned long int id,
void * func, fddOpType op, workerFddBase * dest, fastComm * comm)
override;
91 void collect(fastComm * comm)
override;
93 void groupByKey(fastComm *comm);
94 void countByKey(fastComm *comm);
95 void exchangeDataByKey(fastComm *comm,
void * keyMap);
96 std::vector< std::vector<void*> > * getKeyLocations() ;
Definition: _workerFdd.h:11