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

#include <Handler.hpp>

Collaboration diagram for srs::workflow::Handler:

Public Member Functions

 Handler (App *control)
 
 Handler (const Handler &)=delete
 
 Handler (Handler &&)=delete
 
Handleroperator= (const Handler &)=delete
 
Handleroperator= (Handler &&)=delete
 
 ~Handler ()
 
void read_data_once (std::span< BufferElementType > read_data)
 
void abort ()
 
void start (bool is_blocking)
 
auto get_read_data_bytes () const -> uint64_t
 
auto get_processed_hit_number () const -> uint64_t
 
auto get_data_monitor () const -> const auto &
 
auto get_app () -> auto &
 
void set_print_mode (common::DataPrintMode mode)
 
void set_show_data_speed (bool val=true)
 
void set_monitor_display_period (std::chrono::milliseconds duration)
 
void set_output_filenames (const std::vector< std::string > &filenames)
 
void stop ()
 

Private Member Functions

void analysis_loop (bool is_blocking)
 
void update_monitor ()
 
void write_data ()
 
void print_data ()
 
void clear_data_buffer ()
 

Private Attributes

std::atomic< bool > is_stopped_ { false }
 
std::size_t received_data_size_ {}
 
common::DataPrintMode print_mode_ = common::DataPrintMode::print_speed
 
std::atomic< uint64_t > total_read_data_bytes_ = 0
 
std::atomic< uint64_t > total_processed_hit_numer_ = 0
 
gsl::not_null< App * > app_
 
DataMonitor monitor_
 
tbb::concurrent_bounded_queue< process::SerializableMsgBufferdata_queue_
 
TaskDiagram data_processes_
 

Detailed Description

Definition at line 56 of file Handler.hpp.

Constructor & Destructor Documentation

◆ Handler() [1/3]

srs::workflow::Handler::Handler ( App * control)
explicit

Definition at line 77 of file Handler.cpp.

◆ Handler() [2/3]

srs::workflow::Handler::Handler ( const Handler & )
delete

◆ Handler() [3/3]

srs::workflow::Handler::Handler ( Handler && )
delete

◆ ~Handler()

srs::workflow::Handler::~Handler ( )

Definition at line 96 of file Handler.cpp.

Member Function Documentation

◆ abort()

void srs::workflow::Handler::abort ( )
inline

Definition at line 70 of file Handler.hpp.

◆ analysis_loop()

void srs::workflow::Handler::analysis_loop ( bool is_blocking)
private

Definition at line 123 of file Handler.cpp.

◆ clear_data_buffer()

void srs::workflow::Handler::clear_data_buffer ( )
private

◆ get_app()

auto srs::workflow::Handler::get_app ( ) -> auto&
inlinenodiscard

Definition at line 79 of file Handler.hpp.

◆ get_data_monitor()

auto srs::workflow::Handler::get_data_monitor ( ) const -> const auto&
inlinenodiscard

Definition at line 78 of file Handler.hpp.

◆ get_processed_hit_number()

auto srs::workflow::Handler::get_processed_hit_number ( ) const -> uint64_t
inlinenodiscard

Definition at line 76 of file Handler.hpp.

◆ get_read_data_bytes()

auto srs::workflow::Handler::get_read_data_bytes ( ) const -> uint64_t
inlinenodiscard

Definition at line 75 of file Handler.hpp.

◆ operator=() [1/2]

Handler & srs::workflow::Handler::operator= ( const Handler & )
delete

◆ operator=() [2/2]

Handler & srs::workflow::Handler::operator= ( Handler && )
delete

◆ print_data()

void srs::workflow::Handler::print_data ( )
private

Definition at line 168 of file Handler.cpp.

◆ read_data_once()

void srs::workflow::Handler::read_data_once ( std::span< BufferElementType > read_data)

Definition at line 113 of file Handler.cpp.

◆ set_monitor_display_period()

void srs::workflow::Handler::set_monitor_display_period ( std::chrono::milliseconds duration)
inline

Definition at line 84 of file Handler.hpp.

◆ set_output_filenames()

void srs::workflow::Handler::set_output_filenames ( const std::vector< std::string > & filenames)
inline

Definition at line 85 of file Handler.hpp.

◆ set_print_mode()

void srs::workflow::Handler::set_print_mode ( common::DataPrintMode mode)
inline

Definition at line 82 of file Handler.hpp.

◆ set_show_data_speed()

void srs::workflow::Handler::set_show_data_speed ( bool val = true)
inline

Definition at line 83 of file Handler.hpp.

◆ start()

void srs::workflow::Handler::start ( bool is_blocking)

Definition at line 84 of file Handler.cpp.

◆ stop()

void srs::workflow::Handler::stop ( )

Definition at line 99 of file Handler.cpp.

◆ update_monitor()

void srs::workflow::Handler::update_monitor ( )
private

Definition at line 160 of file Handler.cpp.

◆ write_data()

void srs::workflow::Handler::write_data ( )
private

Member Data Documentation

◆ app_

gsl::not_null<App*> srs::workflow::Handler::app_
private

Definition at line 100 of file Handler.hpp.

◆ data_processes_

TaskDiagram srs::workflow::Handler::data_processes_
private

Definition at line 105 of file Handler.hpp.

◆ data_queue_

tbb::concurrent_bounded_queue<process::SerializableMsgBuffer> srs::workflow::Handler::data_queue_
private

Definition at line 104 of file Handler.hpp.

◆ is_stopped_

std::atomic<bool> srs::workflow::Handler::is_stopped_ { false }
private

Definition at line 95 of file Handler.hpp.

◆ monitor_

DataMonitor srs::workflow::Handler::monitor_
private

Definition at line 101 of file Handler.hpp.

◆ print_mode_

common::DataPrintMode srs::workflow::Handler::print_mode_ = common::DataPrintMode::print_speed
private

Definition at line 97 of file Handler.hpp.

◆ received_data_size_

std::size_t srs::workflow::Handler::received_data_size_ {}
private

Definition at line 96 of file Handler.hpp.

◆ total_processed_hit_numer_

std::atomic<uint64_t> srs::workflow::Handler::total_processed_hit_numer_ = 0
private

Definition at line 99 of file Handler.hpp.

◆ total_read_data_bytes_

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

Definition at line 98 of file Handler.hpp.


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