AllianceDB  0.0.1
AllianceDB is an open-source suite, including benchmarks and libs for evaluating and improving stream operation algorithms on modern hardwares.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
HandShakeWS.h
Go to the documentation of this file.
1 
2 //
3 // Created by tony on 28/02/22.
4 //
5 
6 #ifndef _WINDOWSLIDER_HANDSHAKEWS_H_
7 #define _WINDOWSLIDER_HANDSHAKEWS_H_
8 #include <cstdint>
9 #include <vector>
10 #include <Common/Types.h>
11 #include <Utils/SPSCQueue.hpp>
12 #include <time.h>
13 #include <numeric>
14 #include <JoinProcessor/HandShakeJP.h>
16 
17 using namespace INTELLI;
18 using namespace std;
19 namespace INTELLI {
37 class HandShakeWS : public AbstractWS {
38  private:
39  /* data *
40  */
41  protected:
42  std::vector<HandShakeJPPtr> jpPtr;
43  INTELLI::BarrierPtr initBar;
44  public:
45  HandShakeWS(/* args */) {
46  reset();
47  }
48  ~HandShakeWS() {
49 
50  }
51  //init with length of queue
52  HandShakeWS(size_t sLen, size_t rLen) : AbstractWS(sLen, rLen) {
53 
54  }
55 
66  //get the join result
73  size_t getJoinResult();
74  //input
75  //note: S->, R<-
81  void feedTupleS(TuplePtr ts);
87  void feedTupleR(TuplePtr tr);
88 };
89 
90 }
91 #endif //HYBRID_JOIN_INCLUDE_WINDOWSLIDER_HANDSHAKEWS_H_
An abstraction of window slider, also inherited by both eager and lazy.
Definition: AbstractWS.h:41
The eager window slider of handshake join.
Definition: HandShakeWS.h:37
void terminateJoinProcessors()
to terminate the join processors
void initJoinProcessors()
to init the initJoinProcessors
void feedTupleR(TuplePtr tr)
to feed a tuple R
void waitAckFromJoinProcessors()
to wait the response of join processors
size_t getJoinResult()
to get the result of join
void feedTupleS(TuplePtr ts)
to feed a tuple s
std::shared_ptr< class Tuple > TuplePtr
The class to describe a shared pointer to Tuple.
Definition: Types.h:150
Definition: DatasetTool.h:10