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

An abstraction of eager window slider (i.e., the CellJoin), also inherited by other eager window slider. More...

#include <WindowSlider/AbstractEagerWS.h>

Inheritance diagram for INTELLI::AbstractEagerWS:
Collaboration diagram for INTELLI::AbstractEagerWS:

Public Member Functions

vector< size_t > weightedPartitionSizeFinal (size_t inS)
 
vector< size_t > avgPartitionSizeFinal (size_t inS)
 
 AbstractEagerWS (size_t sLen, size_t rLen)
 to init the slider with specific length of queue More...
 
void initJoinProcessors ()
 to init the initJoinProcessors More...
 
void terminateJoinProcessors ()
 to terminate the join processors
 
void waitAckFromJoinProcessors ()
 to wait the response of join processors
 
size_t getJoinResult ()
 to get the result of join More...
 
- Public Member Functions inherited from INTELLI::AbstractWS
void setTimeBased (bool ts)
 to configure the window type More...
 
bool isTimeBased ()
 to read the window type More...
 
void setRunTimeScheduling (bool r)
 to configure the scheduling place More...
 
bool isRunTimeScheduling ()
 to read the scheduling type More...
 
void setWindowLen (size_t wl)
 to set the length of window More...
 
void setSlideLen (size_t sli)
 set the length of slide More...
 
size_t getSlideLen ()
 get the length of slide More...
 
void setParallelSMP (size_t threads)
 to set the parallel level under SMP model More...
 
void reset ()
 reset everything needed
 
size_t getTimeStamp ()
 to get the time stamp More...
 
 AbstractWS (size_t sLen, size_t rLen)
 to init the slider with specific length of queue More...
 
virtual void feedTupleS (TuplePtr ts)
 to feed a tuple s More...
 
virtual void feedTupleR (TuplePtr tr)
 to feed a tuple R More...
 
struct timeval getSysTime ()
 to get the inline timee structure, the timeSys member More...
 
void setSysTime (struct timeval tv)
 Set the time structure value ,the timeSys member. More...
 
string getName ()
 get the name of the slider More...
 
- Public Member Functions inherited from INTELLI::AbstractC20Thread
void startThread ()
 to start this thread
 
void joinThread ()
 the thread join function
 

Protected Member Functions

void expireS (size_t cond)
 
void expireR (size_t cond)
 
virtual void inlineMain ()
 The inline 'main" function of thread, as an interface. More...
 
void deliverTupleS (TuplePtr ts)
 deliver tuple s to join processors More...
 
void deliverTupleR (TuplePtr tr)
 deliver tuple r to join processors More...
 
- Protected Member Functions inherited from INTELLI::AbstractWS
size_t oldestWindowBelong (size_t ts)
 To get the possible oldest a time stamp belongs to. More...
 

Protected Attributes

TuplePtrQueue TuplePtrQueueLocalS
 
TuplePtrQueue TuplePtrQueueLocalR
 
- Protected Attributes inherited from INTELLI::AbstractWS
INTELLI::join_type_t myType = INTELLI::CNT_BASED
 
size_t countS
 
size_t countR
 
size_t windowLen = 0
 
size_t slideLen = 1
 
std::vector< size_t > partitionWeight
 
std::vector< size_t > partitionSizeFinal
 
size_t threads
 
size_t sLen
 
size_t rLen
 
bool runTimeScheduling = false
 
bool timeBased = false
 
bool isRunning = false
 
struct timeval timeSys
 
TuplePtrQueue TuplePtrQueueInS
 
TuplePtrQueue TuplePtrQueueInR
 
string nameTag
 
- Protected Attributes inherited from INTELLI::AbstractC20Thread
std::shared_ptr< std::thread > threadPtr
 

Detailed Description

An abstraction of eager window slider (i.e., the CellJoin), also inherited by other eager window slider.

Author
Tony Zeng
Note
detailed description: To init and run, follow the functions below to start a WS

Constructor & Destructor Documentation

◆ AbstractEagerWS()

INTELLI::AbstractEagerWS::AbstractEagerWS ( size_t  sLen,
size_t  rLen 
)

to init the slider with specific length of queue

Parameters
sLenthe length of S queue
rLenthe length of R queue

Member Function Documentation

◆ deliverTupleR()

void INTELLI::AbstractEagerWS::deliverTupleR ( TuplePtr  tr)
protected

deliver tuple r to join processors

Parameters
tsThe tuple r

◆ deliverTupleS()

void INTELLI::AbstractEagerWS::deliverTupleS ( TuplePtr  ts)
protected

deliver tuple s to join processors

Parameters
tsThe tuple s

◆ getJoinResult()

size_t INTELLI::AbstractEagerWS::getJoinResult ( )
virtual

to get the result of join

Returns
how many tuples are joined
Note
only called after all join processors are stopped ,use terminateJoinProcessors to achieve this

Reimplemented from INTELLI::AbstractWS.

◆ initJoinProcessors()

void INTELLI::AbstractEagerWS::initJoinProcessors ( )
virtual

to init the initJoinProcessors

Note
only after this is called can we start to feed tuples

Reimplemented from INTELLI::AbstractWS.

◆ inlineMain()

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

The inline 'main" function of thread, as an interface.

Note
Normally re-write this in derived classes

Reimplemented from INTELLI::AbstractC20Thread.


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