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::AbstractLazyJP Class Reference

The basic class of lazy join processor. More...

#include <JoinProcessor/AbstractLazyJP.h>

Inheritance diagram for INTELLI::AbstractLazyJP:
Collaboration diagram for INTELLI::AbstractLazyJP:

Public Member Functions

virtual void init (size_t sLen, size_t rLen, size_t _sysId)
 init the join processor with buffer/queue length and id More...
 
void setLazyWindow (size_t sli, size_t wlen, size_t per)
 set the parameters of lazy window More...
 
- 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

bool checkTupleS (TuplePtr ts)
 
bool checkTupleR (TuplePtr tr)
 
virtual void inlineMain ()
 The 'main' function of AbstractP. More...
 
bool largerThanMe (size_t timeDivSys)
 
bool smallerThanMe (size_t timeDivSys)
 
void moveStoBuffer ()
 move the S from the input queue to the window buffer More...
 
void moveRtoBuffer ()
 move the R from the input queue to the window buffer
 
- 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

C20Buffer< TuplePtrwindowS
 non-overlapping area of window S
 
C20Buffer< TuplePtrwindowR
 non-overlapping area of window R
 
C20Buffer< TuplePtrwindowSOverLap
 Overlapping area of window S, with 'previous' window.
 
C20Buffer< TuplePtrwindowROverLap
 Overlapping area of window R, with 'previous' window.
 
lwj_status_t statusS = LWJ_IDLE
 
lwj_status_t statusR = LWJ_IDLE
 
size_t period = 0
 
size_t tsOverlap = 0
 
size_t tsEnd = 0
 
size_t tsBegin = 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
 

Detailed Description

The basic class of lazy join processor.

Member Function Documentation

◆ init()

virtual void INTELLI::AbstractLazyJP::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 S queue and buffer
_sysIdThe system id

Reimplemented from INTELLI::AbstractJP.

◆ inlineMain()

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

The 'main' function of AbstractP.

Note
This is a re-implementation of AbstractC20Thread

Reimplemented from INTELLI::AbstractJP.

◆ moveStoBuffer()

void INTELLI::AbstractLazyJP::moveStoBuffer ( )
protected

move the S from the input queue to the window buffer

Parameters

◆ setLazyWindow()

void INTELLI::AbstractLazyJP::setLazyWindow ( size_t  sli,
size_t  wlen,
size_t  per 
)
inline

set the parameters of lazy window

Parameters
sliThe slide
wlenThe window length
perThe period in system

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