SRS-control 0.1.4
Loading...
Searching...
No Matches
srs::workflow::TaskDiagram Class Reference

#include <TaskDiagram.hpp>

Collaboration diagram for srs::workflow::TaskDiagram:

Public Types

using InputType = bool
using OutputType = std::size_t

Public Member Functions

 TaskDiagram (Handler *data_processor, std::size_t n_lines=1)
void construct_taskflow_and_run (tbb::concurrent_bounded_queue< process::SerializableMsgBuffer > &data_queue, const std::atomic< bool > &is_stopped)
void run_task (tbb::concurrent_bounded_queue< process::SerializableMsgBuffer > &data_queue, std::size_t line_number)
void run ()
auto is_taskflow_abort_ready () const -> bool
auto operator() (std::size_t line_number) const -> std::string_view
auto get_data_bytes () const -> uint64_t
auto get_n_lines () const -> std::size_t
auto get_struct_data () -> const auto *

Private Member Functions

void construct_taskflow_line (tf::Taskflow &taskflow, std::size_t line_number)
auto create_task (auto &converter, tf::Taskflow &taskflow, std::size_t line_number) -> std::optional< tf::Task >

Private Attributes

std::size_t n_lines_ = 1
tf::Executor tf_executor_
tf::Taskflow main_taskflow_
std::vector< tf::Taskflow > taskflow_lines_
std::vector< std::atomic< bool > > is_pipeline_stopped_
std::vector< process::SerializableMsgBufferraw_data_
process::SerializableMsgBuffer binary_data_
process::Raw2DelimRawConverter raw_to_delim_raw_converter_
process::StructDeserializer struct_deserializer_converter_
process::Struct2ProtoConverter struct_to_proto_converter_
process::ProtoSerializer proto_serializer_converter_
process::ProtoDelimSerializer proto_delim_serializer_converter_
std::atomic< uint64_t > total_read_data_bytes_ = 0
gsl::not_null< writer::Manager * > writers_

Detailed Description

Definition at line 30 of file TaskDiagram.hpp.

Member Typedef Documentation

◆ InputType

Definition at line 35 of file TaskDiagram.hpp.

◆ OutputType

Definition at line 36 of file TaskDiagram.hpp.

Constructor & Destructor Documentation

◆ TaskDiagram()

srs::workflow::TaskDiagram::TaskDiagram ( Handler * data_processor,
std::size_t n_lines = 1 )
explicit

Definition at line 33 of file TaskDiagram.cpp.

Member Function Documentation

◆ construct_taskflow_and_run()

void srs::workflow::TaskDiagram::construct_taskflow_and_run ( tbb::concurrent_bounded_queue< process::SerializableMsgBuffer > & data_queue,
const std::atomic< bool > & is_stopped )

Definition at line 58 of file TaskDiagram.cpp.

◆ construct_taskflow_line()

void srs::workflow::TaskDiagram::construct_taskflow_line ( tf::Taskflow & taskflow,
std::size_t line_number )
private

Definition at line 123 of file TaskDiagram.cpp.

◆ create_task()

auto srs::workflow::TaskDiagram::create_task ( auto & converter,
tf::Taskflow & taskflow,
std::size_t line_number )->std::optional< tf::Task >
inlineprivate

Definition at line 75 of file TaskDiagram.hpp.

◆ get_data_bytes()

auto srs::workflow::TaskDiagram::get_data_bytes ( ) const->uint64_t
inlinenodiscard

Definition at line 48 of file TaskDiagram.hpp.

◆ get_n_lines()

auto srs::workflow::TaskDiagram::get_n_lines ( ) const->std::size_t
inlinenodiscard

Definition at line 49 of file TaskDiagram.hpp.

◆ get_struct_data()

auto srs::workflow::TaskDiagram::get_struct_data ( ) ->constauto *
inline

Definition at line 51 of file TaskDiagram.hpp.

◆ is_taskflow_abort_ready()

auto srs::workflow::TaskDiagram::is_taskflow_abort_ready ( ) const->bool

Definition at line 113 of file TaskDiagram.cpp.

◆ operator()()

auto srs::workflow::TaskDiagram::operator() ( std::size_t line_number) const->std::string_view
inlinenodiscard

Definition at line 43 of file TaskDiagram.hpp.

◆ run()

void srs::workflow::TaskDiagram::run ( )

◆ run_task()

void srs::workflow::TaskDiagram::run_task ( tbb::concurrent_bounded_queue< process::SerializableMsgBuffer > & data_queue,
std::size_t line_number )

Definition at line 50 of file TaskDiagram.cpp.

Member Data Documentation

◆ binary_data_

process::SerializableMsgBuffer srs::workflow::TaskDiagram::binary_data_
private

Definition at line 61 of file TaskDiagram.hpp.

◆ is_pipeline_stopped_

std::vector<std::atomic<bool> > srs::workflow::TaskDiagram::is_pipeline_stopped_
private

Definition at line 59 of file TaskDiagram.hpp.

◆ main_taskflow_

tf::Taskflow srs::workflow::TaskDiagram::main_taskflow_
private

Definition at line 57 of file TaskDiagram.hpp.

◆ n_lines_

std::size_t srs::workflow::TaskDiagram::n_lines_ = 1
private

Definition at line 55 of file TaskDiagram.hpp.

◆ proto_delim_serializer_converter_

process::ProtoDelimSerializer srs::workflow::TaskDiagram::proto_delim_serializer_converter_
private

Definition at line 67 of file TaskDiagram.hpp.

◆ proto_serializer_converter_

process::ProtoSerializer srs::workflow::TaskDiagram::proto_serializer_converter_
private

Definition at line 66 of file TaskDiagram.hpp.

◆ raw_data_

std::vector<process::SerializableMsgBuffer> srs::workflow::TaskDiagram::raw_data_
private

Definition at line 60 of file TaskDiagram.hpp.

◆ raw_to_delim_raw_converter_

process::Raw2DelimRawConverter srs::workflow::TaskDiagram::raw_to_delim_raw_converter_
private

Definition at line 63 of file TaskDiagram.hpp.

◆ struct_deserializer_converter_

process::StructDeserializer srs::workflow::TaskDiagram::struct_deserializer_converter_
private

Definition at line 64 of file TaskDiagram.hpp.

◆ struct_to_proto_converter_

process::Struct2ProtoConverter srs::workflow::TaskDiagram::struct_to_proto_converter_
private

Definition at line 65 of file TaskDiagram.hpp.

◆ taskflow_lines_

std::vector<tf::Taskflow> srs::workflow::TaskDiagram::taskflow_lines_
private

Definition at line 58 of file TaskDiagram.hpp.

◆ tf_executor_

tf::Executor srs::workflow::TaskDiagram::tf_executor_
private

Definition at line 56 of file TaskDiagram.hpp.

◆ total_read_data_bytes_

std::atomic<uint64_t> srs::workflow::TaskDiagram::total_read_data_bytes_ = 0
private

Definition at line 69 of file TaskDiagram.hpp.

◆ writers_

gsl::not_null<writer::Manager*> srs::workflow::TaskDiagram::writers_
private

Definition at line 70 of file TaskDiagram.hpp.


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