6 #define UNUSED(x) (void)(x)
9 #ifndef _INTELLISTREAM_TYPES_H
10 #define _INTELLISTREAM_TYPES_H
15 #define ALGO_NAME "CellJoin"
23 #define ALGO_CLASS CellJoin
30 #define WINDOW_SIZE 500
34 #define THREAD_NUMBER 2
41 #define DATASET_NAME "Test1"
49 #include <unordered_map>
51 #include "Utils/concurrentqueue.h"
52 #include "Utils/DupicatedHashTable.hpp"
53 #include "Utils/SafeQueue.hpp"
54 #include "Utils/SPSCQueue.hpp"
109 typedef int numberType;
110 typedef std::mutex mutex;
113 typedef std::queue<numberType> tupleKeyQueue;
151 typedef std::shared_ptr<class RelationCouple> RelationCouplePtr;
152 typedef std::shared_ptr<std::barrier<>> BarrierPtr;
154 typedef std::vector<TuplePtr> WindowOfTuples;
180 numberType windowSize;
181 numberType windowSizeR;
182 numberType windowSizeS;
187 WindowCouple(numberType windowSizeR, numberType windowSizeS);
200 numberType windowSize;
201 numberType windowSizeR;
202 numberType windowSizeS;
212 numberType joinNumber;
213 numberType streamSize;
217 struct timeval timeBegin;
228 typedef std::shared_ptr<INTELLI::SPSCQueue<INTELLI::TuplePtr>>
TuplePtrQueue;
229 typedef std::shared_ptr<std::queue<INTELLI::TuplePtr>> TupleQueueSelfPtr;
230 typedef std::shared_ptr<INTELLI::SPSCQueue<vector<INTELLI::TuplePtr>>> WindowQueue;
236 #define newTuplePtrQueue(n) make_shared<INTELLI::SPSCQueue<INTELLI::TuplePtr>>(n)
237 #define newWindowQueue(n) make_shared<INTELLI::SPSCQueue<WindowOfTuples>>(n)
240 TIME_STAMP_BASED = 2,
253 typedef std::shared_ptr<INTELLI::SPSCQueue<INTELLI::join_cmd_t>> CmdQueuePtr;
254 #define newCmdQueue(n) make_shared<INTELLI::SPSCQueue<INTELLI::join_cmd_t>>(n)
The class to describe a tuple.
Definition: Types.h:119
Tuple(keyType k, valueType v, size_t sk)
construct with key, value and subkey
Tuple(keyType k, valueType v)
construct with key and value
size_t subKey
Definition: Types.h:125
uint64_t valueType
Definition: Types.h:108
valueType payload
Definition: Types.h:122
keyType key
Definition: Types.h:121
INTELLI::DupicatedHashTable< keyType, keyType > hashtable
Definition: Types.h:111
std::shared_ptr< class Tuple > TuplePtr
The class to describe a shared pointer to Tuple.
Definition: Types.h:150
std::queue< TuplePtr > TuplePtrQueueIn
To describe a local queue of TuplePtr.
Definition: Types.h:162
Tuple(keyType k)
construct with key
uint64_t keyType
Definition: Types.h:107
std::shared_ptr< INTELLI::SPSCQueue< INTELLI::TuplePtr > > TuplePtrQueue
To describe a queue of TuplePtr under SPSCQueue.
Definition: Types.h:228
Definition: DatasetTool.h:10