SRS-control 0.1.4
Loading...
Searching...
No Matches
srs::test::SRSEmulator Class Reference

#include <SRSEmulator.hpp>

Collaboration diagram for srs::test::SRSEmulator:

Classes

struct  Config

Public Types

enum class  ReceiveType : uint8_t { invalid , acq_on , acq_off }

Public Member Functions

void set_delay_time (std::size_t time)
 SRSEmulator (const Config &config)
void set_continue_output (bool is_continue)
void wait_for_connection ()
void wait_for_data_sender ()

Private Types

using IOContextType = asio::thread_pool

Private Member Functions

auto start_send_data () -> asio::awaitable< void >
void do_if_acq_on (asio::any_io_executor &executor)
void do_if_acq_off ()
void listen_on_communications ()
auto listen_coro () -> asio::awaitable< void >
auto send_response (connection::udp::endpoint endpoint, ReceiveType result_type) -> asio::awaitable< void >

Private Attributes

std::chrono::microseconds delay_time_ { 1 }
std::atomic< bool > is_continue_ = false
std::atomic< bool > is_idle_ = true
std::atomic< bool > is_shutdown_ = false
IOContextType io_context_ { 4 }
std::string source_filename_
Config config_
reader::RawFrame frame_reader_
asio::ip::udp::socket udp_socket_
std::shared_ptr< asio::system_timer > data_sender_status_ = std::make_shared<asio::system_timer>(io_context_)
asio::steady_timer data_sending_control_ { io_context_ }

Detailed Description

Definition at line 30 of file SRSEmulator.hpp.

Member Typedef Documentation

◆ IOContextType

using srs::test::SRSEmulator::IOContextType = asio::thread_pool
private

Definition at line 54 of file SRSEmulator.hpp.

Member Enumeration Documentation

◆ ReceiveType

enum class srs::test::SRSEmulator::ReceiveType : uint8_t
strong
Enumerator
invalid 
acq_on 
acq_off 

Definition at line 40 of file SRSEmulator.hpp.

Constructor & Destructor Documentation

◆ SRSEmulator()

srs::test::SRSEmulator::SRSEmulator ( const Config & config)
explicit

Definition at line 109 of file SRSEmulator.cpp.

Member Function Documentation

◆ do_if_acq_off()

void srs::test::SRSEmulator::do_if_acq_off ( )
private

Definition at line 147 of file SRSEmulator.cpp.

◆ do_if_acq_on()

void srs::test::SRSEmulator::do_if_acq_on ( asio::any_io_executor & executor)
private

Definition at line 135 of file SRSEmulator.cpp.

◆ listen_coro()

auto srs::test::SRSEmulator::listen_coro ( ) ->asio::awaitable< void >
private

Definition at line 158 of file SRSEmulator.cpp.

◆ listen_on_communications()

void srs::test::SRSEmulator::listen_on_communications ( )
private

◆ send_response()

auto srs::test::SRSEmulator::send_response ( connection::udp::endpoint endpoint,
ReceiveType result_type )->asio::awaitable< void >
private

Definition at line 149 of file SRSEmulator.cpp.

◆ set_continue_output()

void srs::test::SRSEmulator::set_continue_output ( bool is_continue)
inline

Definition at line 49 of file SRSEmulator.hpp.

◆ set_delay_time()

void srs::test::SRSEmulator::set_delay_time ( std::size_t time)
inline

Definition at line 47 of file SRSEmulator.hpp.

◆ start_send_data()

auto srs::test::SRSEmulator::start_send_data ( ) ->asio::awaitable< void >
private

Definition at line 193 of file SRSEmulator.cpp.

◆ wait_for_connection()

void srs::test::SRSEmulator::wait_for_connection ( )

Definition at line 119 of file SRSEmulator.cpp.

◆ wait_for_data_sender()

void srs::test::SRSEmulator::wait_for_data_sender ( )

Definition at line 128 of file SRSEmulator.cpp.

Member Data Documentation

◆ config_

Config srs::test::SRSEmulator::config_
private

Definition at line 62 of file SRSEmulator.hpp.

◆ data_sender_status_

std::shared_ptr<asio::system_timer> srs::test::SRSEmulator::data_sender_status_ = std::make_shared<asio::system_timer>(io_context_)
private

Definition at line 65 of file SRSEmulator.hpp.

◆ data_sending_control_

asio::steady_timer srs::test::SRSEmulator::data_sending_control_ { io_context_ }
private

Definition at line 66 of file SRSEmulator.hpp.

◆ delay_time_

std::chrono::microseconds srs::test::SRSEmulator::delay_time_ { 1 }
private

Definition at line 56 of file SRSEmulator.hpp.

◆ frame_reader_

reader::RawFrame srs::test::SRSEmulator::frame_reader_
private

Definition at line 63 of file SRSEmulator.hpp.

◆ io_context_

IOContextType srs::test::SRSEmulator::io_context_ { 4 }
private

Definition at line 60 of file SRSEmulator.hpp.

◆ is_continue_

std::atomic<bool> srs::test::SRSEmulator::is_continue_ = false
private

Definition at line 57 of file SRSEmulator.hpp.

◆ is_idle_

std::atomic<bool> srs::test::SRSEmulator::is_idle_ = true
private

Definition at line 58 of file SRSEmulator.hpp.

◆ is_shutdown_

std::atomic<bool> srs::test::SRSEmulator::is_shutdown_ = false
private

Definition at line 59 of file SRSEmulator.hpp.

◆ source_filename_

std::string srs::test::SRSEmulator::source_filename_
private

Definition at line 61 of file SRSEmulator.hpp.

◆ udp_socket_

asio::ip::udp::socket srs::test::SRSEmulator::udp_socket_
private

Definition at line 64 of file SRSEmulator.hpp.


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