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);
44 workerFdd(
unsigned long int ident,
fddType t);
45 workerFdd(
unsigned long int ident,
fddType t,
size_t size);
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);
96 std::vector< std::vector<void*> > * getKeyLocations() ;
98 void setUKeys(
void * uk);
100 void setKeyMap(
void * km);
102 void writeToFile(
void * path,
size_t procId,
void * sufix);
unsigned int fddOpType
Dataset operation type.
unsigned int fddType
Dataset type.