A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
pdb::Pipeline Class Reference

#include <Pipeline.h>

+ Collaboration diagram for pdb::Pipeline:

Public Member Functions

 Pipeline (std::function< std::pair< void *, size_t >()> getNewPage, std::function< void(void *)> discardPage, std::function< void(void *)> writeBackPage, ComputeSourcePtr dataSource, ComputeSinkPtr tupleSink)
 
void addStage (ComputeExecutorPtr addMe)
 
 ~Pipeline ()
 
void cleanPages (int iteration)
 
void run ()
 

Private Attributes

std::function< std::pair< void
*, size_t >)> 
getNewPage
 
std::function< void(void *)> writeBackPage
 
std::function< void(void *)> discardPage
 
ComputeSourcePtr dataSource
 
ComputeSinkPtr dataSink
 
std::vector< ComputeExecutorPtrpipeline
 
std::queue< MemoryHolderPtrunwrittenPages
 

Detailed Description

Definition at line 64 of file Pipeline.h.

Constructor & Destructor Documentation

pdb::Pipeline::Pipeline ( std::function< std::pair< void *, size_t >()>  getNewPage,
std::function< void(void *)>  discardPage,
std::function< void(void *)>  writeBackPage,
ComputeSourcePtr  dataSource,
ComputeSinkPtr  tupleSink 
)
inline

Definition at line 97 of file Pipeline.h.

pdb::Pipeline::~Pipeline ( )
inline

Definition at line 113 of file Pipeline.h.

+ Here is the call graph for this function:

Member Function Documentation

void pdb::Pipeline::addStage ( ComputeExecutorPtr  addMe)
inline

Definition at line 109 of file Pipeline.h.

void pdb::Pipeline::cleanPages ( int  iteration)
inline

Definition at line 141 of file Pipeline.h.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void pdb::Pipeline::run ( )
inline

Definition at line 189 of file Pipeline.h.

+ Here is the call graph for this function:

Member Data Documentation

ComputeSinkPtr pdb::Pipeline::dataSink
private

Definition at line 85 of file Pipeline.h.

ComputeSourcePtr pdb::Pipeline::dataSource
private

Definition at line 82 of file Pipeline.h.

std::function<void(void*)> pdb::Pipeline::discardPage
private

Definition at line 79 of file Pipeline.h.

std::function<std::pair<void*, size_t>)> pdb::Pipeline::getNewPage
private

Definition at line 70 of file Pipeline.h.

std::vector<ComputeExecutorPtr> pdb::Pipeline::pipeline
private

Definition at line 88 of file Pipeline.h.

std::queue<MemoryHolderPtr> pdb::Pipeline::unwrittenPages
private

Definition at line 91 of file Pipeline.h.

std::function<void(void*)> pdb::Pipeline::writeBackPage
private

Definition at line 75 of file Pipeline.h.


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