Public Member Functions | Private Member Functions | Private Attributes | List of all members
Pipeline Class Reference

#include <pipeline.h>

Public Member Functions

bool is_running ()
 
void on_shutdown ()
 
 Pipeline (std::shared_ptr< Writer< PFPacket >> writer, std::shared_ptr< Reader< PFPacket >> reader, std::function< void()> func, std::shared_ptr< std::mutex > net_mtx, std::shared_ptr< std::condition_variable > net_cv, bool &net_fail)
 
bool start ()
 
void terminate ()
 

Private Member Functions

void run_reader ()
 
void run_writer ()
 

Private Attributes

std::mutex mutex_
 
std::shared_ptr< std::condition_variable > net_cv_
 
bool & net_fail_
 
std::shared_ptr< std::mutex > net_mtx_
 
moodycamel::BlockingReaderWriterQueue< std::unique_ptr< PFPacket > > queue_
 
std::shared_ptr< Reader< PFPacket > > reader_
 
std::thread reader_thread_
 
std::atomic< bool > running_
 
std::function< void()> shutdown
 
std::atomic< bool > shutdown_
 
std::shared_ptr< Writer< PFPacket > > writer_
 
std::thread writer_thread_
 

Detailed Description

Definition at line 16 of file pipeline.h.

Constructor & Destructor Documentation

◆ Pipeline()

Pipeline::Pipeline ( std::shared_ptr< Writer< PFPacket >>  writer,
std::shared_ptr< Reader< PFPacket >>  reader,
std::function< void()>  func,
std::shared_ptr< std::mutex >  net_mtx,
std::shared_ptr< std::condition_variable >  net_cv,
bool &  net_fail 
)

Definition at line 5 of file pipeline.cpp.

Member Function Documentation

◆ is_running()

bool Pipeline::is_running ( )

Definition at line 55 of file pipeline.cpp.

◆ on_shutdown()

void Pipeline::on_shutdown ( )

Definition at line 60 of file pipeline.cpp.

◆ run_reader()

void Pipeline::run_reader ( )
private

Definition at line 98 of file pipeline.cpp.

◆ run_writer()

void Pipeline::run_writer ( )
private

Definition at line 69 of file pipeline.cpp.

◆ start()

bool Pipeline::start ( )

Definition at line 20 of file pipeline.cpp.

◆ terminate()

void Pipeline::terminate ( )

Definition at line 40 of file pipeline.cpp.

Member Data Documentation

◆ mutex_

std::mutex Pipeline::mutex_
private

Definition at line 38 of file pipeline.h.

◆ net_cv_

std::shared_ptr<std::condition_variable> Pipeline::net_cv_
private

Definition at line 40 of file pipeline.h.

◆ net_fail_

bool& Pipeline::net_fail_
private

Definition at line 41 of file pipeline.h.

◆ net_mtx_

std::shared_ptr<std::mutex> Pipeline::net_mtx_
private

Definition at line 39 of file pipeline.h.

◆ queue_

moodycamel::BlockingReaderWriterQueue<std::unique_ptr<PFPacket> > Pipeline::queue_
private

Definition at line 32 of file pipeline.h.

◆ reader_

std::shared_ptr<Reader<PFPacket> > Pipeline::reader_
private

Definition at line 33 of file pipeline.h.

◆ reader_thread_

std::thread Pipeline::reader_thread_
private

Definition at line 37 of file pipeline.h.

◆ running_

std::atomic<bool> Pipeline::running_
private

Definition at line 36 of file pipeline.h.

◆ shutdown

std::function<void()> Pipeline::shutdown
private

Definition at line 35 of file pipeline.h.

◆ shutdown_

std::atomic<bool> Pipeline::shutdown_
private

Definition at line 36 of file pipeline.h.

◆ writer_

std::shared_ptr<Writer<PFPacket> > Pipeline::writer_
private

Definition at line 34 of file pipeline.h.

◆ writer_thread_

std::thread Pipeline::writer_thread_
private

Definition at line 37 of file pipeline.h.


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


pf_driver
Author(s): Harsh Deshpande
autogenerated on Fri Feb 24 2023 03:59:35