OoOJoin  0.0.1
The next generation of out-of-order join operator
OoOJoin Namespace Reference

Classes

class  AbstractStateOfKey
 The statistics and prediction state of a key. More...
 
class  StateOfKeyBucket
 The multithread-supported bucket of StateOfKey. More...
 
class  StateOfKeyHashTable
 The multithread-supported hash table, holding buckets of stateofkey. More...
 
class  Tuple
 The class to describe a normal tuple. More...
 
class  OoOTuple
 The class to describe a tuple, which allows out-of-order. More...
 
class  TrackTuple
 The class to describe a tuple, which allows out-of-order and tracking processed Time. More...
 
class  Window
 The class to describe a simplest window. More...
 
class  AbstractJoinAlgo
 The abstraction to describe a join algorithm, providing virtual function of join. More...
 
class  JoinAlgoTable
 The table contains all supported algos. More...
 
class  NestedLoopJoin
 The top class package of Nested Loop Join providing a "join function". More...
 
class  MtBucket
 The multithread-supported bucket. More...
 
class  MultiThreadHashTable
 The multithread-supported hash table, holding buckets. More...
 
class  NPJ_thread
 The thread used by NPJ. More...
 
class  NPJ
 The top class package of NPJ, providing a "join function". More...
 
class  NPJSingle
 The top class package of single threadNPJ, providing a "join function". More...
 
class  AbstractOperator
 The abstraction to describe a join operator, providing virtual function of using the operation. More...
 
class  IAWJOperator
 The intra window join (IAWJ) operator, only considers a single window. More...
 
class  IMAIAWJOperator
 The IAWJ operator under the simplest AQP strategy, and updates incrementally (IMA), only considers a single window and uses exponential weighted moving average for prediction. This one is EAGER join in fact. More...
 
class  MeanAQPIAWJOperator
 The intra window join (MeanAQPIAWJ) operator under the simplest AQP strategy, only considers a single window and uses exponential weighted moving average for prediction. More...
 
class  OperatorTable
 The entity of operatorTable, can used for searching all available operators. More...
 
class  AbstractDataLoader
 The abstract class of dataloader. More...
 
class  DataLoaderTable
 The entity of DataLoaderTable, can used for searching all available DataLoaders. More...
 
class  FileDataLoader
 The dataloader which loads data from external csv file. More...
 
class  RandomDataLoader
 The dataloader which produces random key, random value and random skewness. More...
 
class  TestBench
 The test bench class to feed data. More...
 
class  ZipfDataLoader
 The dataloader which allows zipf distribution of key, value, event time and arrival skewness. More...
 
class  AbstractWaterMarker
 The abstraction to describe a watermark generator, providing virtual function of deciding watermark generation. More...
 
class  ArrivalWM
 watermark generates at time t, and every thing arrives later then t will be discard, i.e., flush finial result at t More...
 
class  LatenessWM
 The class which generates watermark according to lateness of event time. A tuple with event time earlier than max (event time we have seen) - lateness will be discard and trigger a compute. More...
 
class  WMTable
 The table to indexing all possible watermark generators. More...
 

Typedefs

typedef std::shared_ptr< AbstractJoinAlgo > AbstractJoinAlgoPtr
 
typedef std::shared_ptr< JoinAlgoTable > JoinAlgoTablePtr
 The class to describe a shared pointer to JoinAlgoTable. More...
 
typedef std::shared_ptr< NestedLoopJoin > NestedLoopJoinPtr
 The class to describe a shared pointer to NestedLoopJoin.
 
typedef std::shared_ptr< class AbstractOperator > AbstractOperatorPtr
 The class to describe a shared pointer to AbstractOperator.
 
typedef std::shared_ptr< class IAWJOperator > IAWJOperatorPtr
 The class to describe a shared pointer to IAWJOperator.
 
typedef std::shared_ptr< class IMAIAWJOperator > IMAIAWJOperatorPtr
 The class to describe a shared pointer to IMAIAWJOperator.
 
typedef std::shared_ptr< class MeanAQPIAWJOperator > MeanAQPIAWJOperatorPtr
 The class to describe a shared pointer to MeanAQPIAWJOperator.
 
typedef std::shared_ptr< class OperatorTable > OperatorTablePtr
 The class to describe a shared pointer to OperatorTable.
 
typedef std::shared_ptr< class AbstractWaterMarker > AbstractWaterMarkerPtr
 The class to describe a shared pointer to AbstractWaterMarker. More...
 
typedef std::shared_ptr< class ArrivalWM > ArrivalWMPtr
 The class to describe a shared pointer to ArrivalWM. More...
 
typedef std::shared_ptr< class LatenessWM > LatenessWMPtr
 The class to describe a shared pointer to PeriodicalWM. More...
 
typedef std::shared_ptr< class WMTable > WMTablePtr
 The class to describe a shared pointer to WMTable.
 
typedef std::shared_ptr< class AbstractStateOfKey > AbstractStateOfKeyPtr
 The class to describe a shared pointer to AbstractStateOfKey.
 
typedef std::shared_ptr< class StateOfKeyBucket > StateOfKeyBucketPtr
 The shared pointer to a StateOfKeyBucket.
 
typedef std::shared_ptr< StateOfKeyHashTable > StateOfKeyHashTablePtr
 The shared pointer to a StateOfKeyHashTable.
 
typedef uint64_t keyType
 
typedef uint64_t valueType
 
typedef uint64_t tsType
 
typedef std::shared_ptr< class Tuple > TuplePtr
 The class to describe a shared pointer to Tuple. More...
 
typedef std::shared_ptr< class OoOTuple > OoOTuplePtr
 The class to describe a shared pointer to OoOTuple. More...
 
typedef std::shared_ptr< class TrackTuple > TrackTuplePtr
 The class to describe a shared pointer to TrackTuple.
 
typedef std::shared_ptr< MtBucket > MtBucketPtr
 
typedef TrackTuplePtr NPJTuplePtr
 
typedef std::shared_ptr< MultiThreadHashTable > MultiThreadHashTablePtr
 
typedef std::shared_ptr< NPJ > NPJPtr
 The class to describe a shared pointer to NPJ. More...
 
typedef std::shared_ptr< NPJSingle > NPJSinglePtr
 The class to describe a shared pointer to NPJSingle.
 
typedef std::shared_ptr< class AbstractDataLoader > AbstractDataLoaderPtr
 The class to describe a shared pointer to AbstractDataLoader.
 
typedef std::shared_ptr< class DataLoaderTable > DataLoaderTablePtr
 
typedef std::shared_ptr< class FileDataLoader > FileDataLoaderPtr
 The class to describe a shared pointer to FileDataLoader.
 
typedef std::shared_ptr< class RandomDataLoader > RandomDataLoaderPtr
 The class to describe a shared pointer to RandomDataLoader.
 
typedef std::shared_ptr< class ZipfDataLoader > ZipfDataLoaderPtr
 The class to describe a shared pointer to ZipfDataLoader.
 

Enumerations

enum  join_algo_index_t { JOINALGO_NULL = 0 , JOINALGO_NESTEDLOOP = 1 , JOINALGO_NPJ = 2 , JOINALGO_NPJ_SINGLE = 3 }
 The system default index for join algorithms. More...
 

Detailed Description

Note
If new algorithm is added, please change this file and its .cpp add the header of other algorithms here
If new Operator is added, please change this file and its .cpp

Typedef Documentation

◆ AbstractWaterMarkerPtr

typedef std::shared_ptr<class AbstractWaterMarker> OoOJoin::AbstractWaterMarkerPtr

The class to describe a shared pointer to AbstractWaterMarker.

[AbstractWaterMarkerPtr]

◆ ArrivalWMPtr

typedef std::shared_ptr<class ArrivalWM> OoOJoin::ArrivalWMPtr

The class to describe a shared pointer to ArrivalWM.

[ArrivalWMPtr]

◆ JoinAlgoTablePtr

typedef std::shared_ptr<JoinAlgoTable> OoOJoin::JoinAlgoTablePtr

The class to describe a shared pointer to JoinAlgoTable.

[JoinAlgoTablePtr]

◆ LatenessWMPtr

typedef std::shared_ptr<class LatenessWM> OoOJoin::LatenessWMPtr

The class to describe a shared pointer to PeriodicalWM.

[PeriodicalWMPtr]