AllianceDB  0.0.1
AllianceDB is an open-source suite, including benchmarks and libs for evaluating and improving stream operation algorithms on modern hardwares.
SplitJoinWS.h
Go to the documentation of this file.
1 
2 //
3 // Created by tony on 18/03/22.
4 //
5 
6 #ifndef _WINDOWSLIDER_SPLITWS_H_
7 #define _WINDOWSLIDER_SPLITWS_H_
8 
12 using namespace INTELLI;
13 using namespace std;
14 namespace INTELLI {
32 class SplitJoinWS : public AbstractWS {
33  protected:
34  /* data */
35  std::vector<SplitJoinJPPtr> jps;
36  // virtual void inlineMain();
47  public:
48  SplitJoinWS() {
49  reset();
50  nameTag = "SplitJoin";
51  }
57  SplitJoinWS(size_t sLen, size_t rLen);
58 
59  ~SplitJoinWS() {}
70  //get the join result
77  size_t getJoinResult();
78 
84  virtual void feedTupleS(TuplePtr ts) {
85  deliverTupleS(ts);
86  }
87  //feed the tuple R
93  virtual void feedTupleR(TuplePtr tr) {
94  deliverTupleR(tr);
95  }
96 };
97 }
98 #endif //ALIANCEDB_INCLUDE_WINDOWSLIDER_SPLITWS_H_
An abstraction of window slider, also inherited by both eager and lazy.
Definition: AbstractWS.h:41
The eager window slider of split join.
Definition: SplitJoinWS.h:32
SplitJoinWS(size_t sLen, size_t rLen)
to init the slider with specific length of queue
void waitAckFromJoinProcessors()
to wait the response of join processors
void initJoinProcessors()
to init the initJoinProcessors
size_t getJoinResult()
to get the result of join
void deliverTupleR(TuplePtr tr)
deliver tuple r to join processors
void terminateJoinProcessors()
to terminate the join processors
virtual void feedTupleS(TuplePtr ts)
to feed a tuple s
Definition: SplitJoinWS.h:84
virtual void feedTupleR(TuplePtr tr)
to feed a tuple R
Definition: SplitJoinWS.h:93
void deliverTupleS(TuplePtr ts)
deliver tuple s to join processors
std::shared_ptr< class Tuple > TuplePtr
The class to describe a shared pointer to Tuple.
Definition: Types.h:150
Definition: DatasetTool.h:10