AllianceDB  0.0.1
AllianceDB is an open-source suite, including benchmarks and libs for evaluating and improving stream operation algorithms on modern hardwares.
INTELLI::HandShakeJP Class Reference
Inheritance diagram for INTELLI::HandShakeJP:
Collaboration diagram for INTELLI::HandShakeJP:

Public Member Functions

void setLeft (HandShakeJPPtr l)
 
void setRight (HandShakeJPPtr r)
 
void setTimeOffset (size_t ts, size_t tr)
 
void paraseTupleS ()
 
void paraseTupleR ()
 
void setNeighborJP (HandShakeJPPtr l, HandShakeJPPtr r)
 
void init (size_t sLen, size_t rLen, size_t _sysId)
 init the join processor with buffer/queue length and id More...
 
void setInitBar (BarrierPtr barPrev)
 Set up the init barrier. More...
 
void waitInitBar (void)
 Wait for the init barrier done and then contine.
 
void indicateSRecv (void)
 To indicate that a tuple S has been received.
 
- Public Member Functions inherited from INTELLI::AbstractJP
void inputCmd (join_cmd_t cmd)
 input an outside command More...
 
join_cmd_t waitResponse ()
 wait and return the response of this join processor More...
 
void setTimeBased (bool ts)
 to configure the window type More...
 
bool isTimeBased ()
 to read the window type More...
 
void setWindowLen (size_t wl)
 to set the length of window More...
 
void setGlobalWindow (size_t wlen, size_t sli)
 set the window parameters of global window More...
 
virtual void feedTupleS (TuplePtr ts)
 feed a tuple s into the s input queue More...
 
virtual void feedTupleR (TuplePtr tr)
 feed a tuple r into the r input queue More...
 
void setTimeVal (struct timeval tv)
 set the timeval struct More...
 
size_t getTimeStamp ()
 Get the time stamp. More...
 
size_t getJoinedResult ()
 get the join results More...
 
void setCore (int id)
 bind to specific core More...
 
- Public Member Functions inherited from INTELLI::AbstractC20Thread
void startThread ()
 to start this thread
 
void joinThread ()
 the thread join function
 

Protected Member Functions

void setupQueue ()
 
void expireS (size_t cond)
 
void expireR (size_t cond)
 
virtual void inlineMain ()
 The 'main' function of AbstractP. More...
 
- Protected Member Functions inherited from INTELLI::AbstractJP
void sendResponseCmd (join_cmd_t cmd)
 
void sendAck ()
 
bool testCmd (join_cmd_t cmd)
 To test if a cmd is remained in queue and in desired cmd. More...
 
size_t oldestWindowBelong (size_t ts)
 To get the possible oldest window a time stamp belongs to. More...
 

Protected Attributes

HandShakeJPPtr leftJP = nullptr
 
HandShakeJPPtr rightJP = nullptr
 
TuplePtrQueue TuplePtrQueueLocalS
 local queue storage of S, used for manage S window
 
TuplePtrQueue TuplePtrQueueForwardS
 forward queue of S
 
CmdQueuePtr sRecvAck
 The command queue for ack of S.
 
TuplePtrQueue TuplePtrQueueLocalR
 local queue storage of R, used for manage R window
 
BarrierPtr initBar = nullptr
 
size_t countR = 0
 
size_t countS = 0
 
size_t timeOffsetS
 
size_t timeOffsetR
 
size_t rQueue = 0
 
size_t sQueue = 0
 
- Protected Attributes inherited from INTELLI::AbstractJP
TuplePtrQueue TuplePtrQueueInS
 
TuplePtrQueue TuplePtrQueueInR
 
CmdQueuePtr cmdQueueIn
 
CmdQueuePtr cmdQueueOut
 
size_t sysId
 
struct timeval timeSys
 
bool timeBased = false
 
size_t windowLen = 0
 
size_t windowLenGlobal = 0
 
size_t slideLenGlobal = 0
 
size_t joinedResult = 0
 
JoinAlgoTablePtr myAlgo
 
- Protected Attributes inherited from INTELLI::AbstractC20Thread
std::shared_ptr< std::thread > threadPtr
 

Additional Inherited Members

- Public Attributes inherited from INTELLI::AbstractJP
int cpuBind = -1
 

Member Function Documentation

◆ init()

void INTELLI::HandShakeJP::init ( size_t  sLen,
size_t  rLen,
size_t  _sysId 
)
inlinevirtual

init the join processor with buffer/queue length and id

Parameters
sLenThe length of S queue and buffer
rLenThe length of R queue and buffer
_sysIdThe system id

Reimplemented from INTELLI::AbstractJP.

◆ inlineMain()

virtual void INTELLI::HandShakeJP::inlineMain ( )
protectedvirtual

The 'main' function of AbstractP.

Note
This is a re-implementation of AbstractC20Thread

Reimplemented from INTELLI::AbstractJP.

◆ setInitBar()

void INTELLI::HandShakeJP::setInitBar ( BarrierPtr  barPrev)
inline

Set up the init barrier.

Parameters
barPrevThe SHARED init barrier

The documentation for this class was generated from the following file: