OoOJoin  0.0.1
The next generation of out-of-order join operator
OoOJoin::IAWJOperator Class Reference

The intra window join (IAWJ) operator, only considers a single window. More...

#include <Operator/IAWJOperator.h>

Inheritance diagram for OoOJoin::IAWJOperator:
Collaboration diagram for OoOJoin::IAWJOperator:

Public Member Functions

virtual bool setConfig (ConfigMapPtr cfg)
 Set the config map related to this operator. More...
 
virtual bool feedTupleS (TrackTuplePtr ts)
 feed a tuple s into the Operator More...
 
virtual bool feedTupleR (TrackTuplePtr tr)
 feed a tuple R into the Operator More...
 
virtual bool start ()
 start this operator More...
 
virtual bool stop ()
 stop this operator More...
 
virtual size_t getResult ()
 get the joined sum result More...
 
- Public Member Functions inherited from OoOJoin::AbstractOperator
void setWindow (size_t _wl, size_t _sli)
 Set the window parameters of the whole operator. More...
 
void setBufferLen (size_t _sLen, size_t _rLen)
 Set buffer length of S and R buffer. More...
 
void syncTimeStruct (struct timeval tv)
 Synchronize the time structure with outside setting. More...
 
virtual size_t getAQPResult ()
 get the joined sum result under AQP estimation More...
 
virtual ConfigMapPtr getTimeBreakDown ()
 get the break down information of processing time More...
 

Protected Member Functions

void conductComputation ()
 
- Protected Member Functions inherited from OoOJoin::AbstractOperator
void setFinalProcessedTime ()
 set the final processed time for all tuples
 

Protected Attributes

Window myWindow
 
size_t intermediateResult = 0
 
string algoTag = "NestedLoopJoin"
 
uint64_t joinThreads = 1
 
atomic_bool lockedByWaterMark = false
 if operator is locked by watermark, it will never accept new incoming More...
 
AbstractWaterMarkerPtr wmGen = nullptr
 
- Protected Attributes inherited from OoOJoin::AbstractOperator
struct timeval timeBaseStruct
 
size_t windowLen = 0
 
size_t slideLen = 0
 
size_t sLen = 0
 
size_t rLen = 0
 
int threads = 0
 
tsType timeStep = 0
 
tsType timeBreakDown_all = 0
 

Additional Inherited Members

- Public Attributes inherited from OoOJoin::AbstractOperator
ConfigMapPtr config = nullptr
 

Detailed Description

The intra window join (IAWJ) operator, only considers a single window.

Note
require configurations:
  • "windowLen" U64: The length of window
  • "slideLen" U64: The length of slide
  • "sLen" U64: The length of S buffer
  • "rLen" U64: The length of R buffer
  • "algo" String: The specific join algorithm (optional, default nested loop)
  • "threads" U64: The threads to conduct intra window join (optional, default 1)
  • "wmTag" String: The tag of watermarker, default is arrival for ArrivalWM
In current version, the computation will block feeding
operator tag = "IAWJ"

Member Function Documentation

◆ feedTupleR()

bool OoOJoin::IAWJOperator::feedTupleR ( OoOJoin::TrackTuplePtr  tr)
virtual

feed a tuple R into the Operator

Parameters
trThe tuple
Warning
The current version is simplified and assuming only used in SINGLE THREAD!
Returns
bool, whether tuple is fed.

Reimplemented from OoOJoin::AbstractOperator.

◆ feedTupleS()

bool OoOJoin::IAWJOperator::feedTupleS ( OoOJoin::TrackTuplePtr  ts)
virtual

feed a tuple s into the Operator

Parameters
tsThe tuple
Warning
The current version is simplified and assuming only used in SINGLE THREAD!
Returns
bool, whether tuple is fed.

Reimplemented from OoOJoin::AbstractOperator.

◆ getResult()

size_t OoOJoin::IAWJOperator::getResult ( )
virtual

get the joined sum result

Returns
The result

Reimplemented from OoOJoin::AbstractOperator.

◆ setConfig()

bool OoOJoin::IAWJOperator::setConfig ( INTELLI::ConfigMapPtr  cfg)
virtual

Set the config map related to this operator.

Todo:
Where this operator is conducting join is still putting rotten, try to place it at feedTupleS/R
Parameters
cfgThe config map
Returns
bool whether the config is successfully set

Reimplemented from OoOJoin::AbstractOperator.

◆ start()

bool OoOJoin::IAWJOperator::start ( )
virtual

start this operator

Returns
bool, whether start successfully

set watermark generator

Note
:

set window

Reimplemented from OoOJoin::AbstractOperator.

◆ stop()

bool OoOJoin::IAWJOperator::stop ( )
virtual

stop this operator

Returns
bool, whether start successfully

Reimplemented from OoOJoin::AbstractOperator.

Member Data Documentation

◆ lockedByWaterMark

atomic_bool OoOJoin::IAWJOperator::lockedByWaterMark = false
protected

if operator is locked by watermark, it will never accept new incoming

Todo:
current implementation is putting rotten, fix later

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