scc 2026.07
SystemC components library
scc::tcp4tlm_server Struct Reference
Inheritance diagram for scc::tcp4tlm_server:
Collaboration diagram for scc::tcp4tlm_server:

Classes

struct  timed_task

Public Types

typedef tcp4tlm::connection< tcp4tlm::response_message, tcp4tlm::request_message > connection_type
typedef std::shared_ptr< connection_type > con_ptr

Public Member Functions

 SC_HAS_PROCESS (tcp4tlm_server)
 tcp4tlm_server (sc_core::sc_module_name name, size_t no_of_ports=0)
void server_send_completed (con_ptr &con, bool established=false) override
void server_receive_completed (con_ptr &con, const tcp4tlm::request_message *const result) override
void start_server ()
void wait4connection ()
bool is_connection_established ()
sc_core::sc_event const & get_shutdown_event () const

Public Attributes

cci::cci_param< unsigned > this_host_port {"this_host_port", 32000u}
cci::cci_param< bool > wall_time_simulation_speed {"wall_time_simulation_speed", false}
cci::cci_param< bool > write_no_response {"write_no_response", false}
cci::cci_param< bool > no_systemc_sync {"no_systemc_sync", false}
tlm_utils::simple_initiator_socket< tcp4tlm_server, ::scc::LT > isckt
sc_core::sc_vector< sc_core::sc_out< bool > > signals {"signals"}

Protected Types

using callback_task = std::packaged_task<bool(void)>

Protected Member Functions

void timing_thread ()
void process_task_que ()
void process_timed_task_que ()
void start_of_simulation () override
void end_of_simulation () override
Protected Member Functions inherited from scc::tcp4tlm::server< tcp4tlm::request_message, tcp4tlm::response_message >
const connection< tcp4tlm::response_message, tcp4tlm::request_message >::acceptor_t & get_acceptor ()
 server (std::size_t thread_pool_size=4)
long set_acceptor_endpoint (std::shared_ptr< boost::asio::ip::tcp::acceptor > &a, unsigned short port)
void start_server (unsigned short port, char *name=NULL)
void request_shutdown ()
bool is_shutdown_requested ()
void shutdown_server ()
virtual boost::asio::io_context & get_io_service ()
bool is_server_running ()
void create_new_session ()
Protected Member Functions inherited from scc::tcp4tlm::i_server< tcp4tlm::request_message, tcp4tlm::response_message >
virtual void server_send_completed (std::shared_ptr< connection< tcp4tlm::response_message, tcp4tlm::request_message > > &con, bool established=false)=0
virtual void server_receive_completed (std::shared_ptr< connection< tcp4tlm::response_message, tcp4tlm::request_message > > &con, const tcp4tlm::request_message *const result)=0

Protected Attributes

scc::async_queue< timed_tasktask_que
scc::peq< callback_task > timed_task_que
std::mutex con_est_mtx
std::condition_variable con_est_sig
std::atomic< bool > con_est {false}
sc_core::sc_event shutdown_evt
rigtorp::SPSCQueue< sc_core::sc_time > next_time_stamp
unsigned long long sync
std::shared_ptr< tcp4tlm::response_message > resp_msg
tlm_utils::tlm_quantumkeeper quantumkeeper
tlm::scc::tlm_mm< tlm::tlm_base_protocol_types, false > mm

Detailed Description

Definition at line 40 of file tcp4tlm_server.h.

Member Typedef Documentation

◆ callback_task

using scc::tcp4tlm_server::callback_task = std::packaged_task<bool(void)>
protected

Definition at line 85 of file tcp4tlm_server.h.

◆ con_ptr

typedef std::shared_ptr<connection_type> scc::tcp4tlm_server::con_ptr

Definition at line 57 of file tcp4tlm_server.h.

◆ connection_type

typedef tcp4tlm::connection<tcp4tlm::response_message, tcp4tlm::request_message> scc::tcp4tlm_server::connection_type

Definition at line 56 of file tcp4tlm_server.h.

Constructor & Destructor Documentation

◆ tcp4tlm_server()

scc::tcp4tlm_server::tcp4tlm_server ( sc_core::sc_module_name name,
size_t no_of_ports = 0 )

Definition at line 38 of file tcp4tlm_server.cpp.

◆ ~tcp4tlm_server()

scc::tcp4tlm_server::~tcp4tlm_server ( )
virtual

Definition at line 86 of file tcp4tlm_server.cpp.

Member Function Documentation

◆ end_of_simulation()

void scc::tcp4tlm_server::end_of_simulation ( )
overrideprotected

Definition at line 93 of file tcp4tlm_server.cpp.

◆ get_shutdown_event()

sc_core::sc_event const & scc::tcp4tlm_server::get_shutdown_event ( ) const
inline

Definition at line 82 of file tcp4tlm_server.h.

◆ is_connection_established()

bool scc::tcp4tlm_server::is_connection_established ( )
inline

Definition at line 80 of file tcp4tlm_server.h.

◆ process_task_que()

void scc::tcp4tlm_server::process_task_que ( )
protected

Definition at line 313 of file tcp4tlm_server.cpp.

◆ process_timed_task_que()

void scc::tcp4tlm_server::process_timed_task_que ( )
protected

Definition at line 329 of file tcp4tlm_server.cpp.

◆ server_receive_completed()

void scc::tcp4tlm_server::server_receive_completed ( con_ptr & con,
const tcp4tlm::request_message *const result )
override

Definition at line 210 of file tcp4tlm_server.cpp.

◆ server_send_completed()

void scc::tcp4tlm_server::server_send_completed ( con_ptr & con,
bool established = false )
inlineoverride

Definition at line 59 of file tcp4tlm_server.h.

◆ start_of_simulation()

void scc::tcp4tlm_server::start_of_simulation ( )
overrideprotected

Definition at line 88 of file tcp4tlm_server.cpp.

◆ start_server()

void scc::tcp4tlm_server::start_server ( )
inline

Definition at line 67 of file tcp4tlm_server.h.

◆ timing_thread()

void scc::tcp4tlm_server::timing_thread ( )
protected

Definition at line 139 of file tcp4tlm_server.cpp.

◆ wait4connection()

void scc::tcp4tlm_server::wait4connection ( )
inline

Definition at line 72 of file tcp4tlm_server.h.

Member Data Documentation

◆ con_est

std::atomic<bool> scc::tcp4tlm_server::con_est {false}
protected

Definition at line 94 of file tcp4tlm_server.h.

◆ con_est_mtx

std::mutex scc::tcp4tlm_server::con_est_mtx
protected

Definition at line 92 of file tcp4tlm_server.h.

◆ con_est_sig

std::condition_variable scc::tcp4tlm_server::con_est_sig
protected

Definition at line 93 of file tcp4tlm_server.h.

◆ isckt

tlm_utils::simple_initiator_socket<tcp4tlm_server, ::scc::LT> scc::tcp4tlm_server::isckt

Definition at line 48 of file tcp4tlm_server.h.

◆ mm

tlm::scc::tlm_mm<tlm::tlm_base_protocol_types, false> scc::tcp4tlm_server::mm
protected

Definition at line 105 of file tcp4tlm_server.h.

◆ next_time_stamp

rigtorp::SPSCQueue<sc_core::sc_time> scc::tcp4tlm_server::next_time_stamp
protected

Definition at line 96 of file tcp4tlm_server.h.

◆ no_systemc_sync

cci::cci_param<bool> scc::tcp4tlm_server::no_systemc_sync {"no_systemc_sync", false}

Definition at line 46 of file tcp4tlm_server.h.

◆ quantumkeeper

tlm_utils::tlm_quantumkeeper scc::tcp4tlm_server::quantumkeeper
protected

Definition at line 104 of file tcp4tlm_server.h.

◆ resp_msg

std::shared_ptr<tcp4tlm::response_message> scc::tcp4tlm_server::resp_msg
protected

Definition at line 103 of file tcp4tlm_server.h.

◆ shutdown_evt

sc_core::sc_event scc::tcp4tlm_server::shutdown_evt
protected

Definition at line 95 of file tcp4tlm_server.h.

◆ signals

sc_core::sc_vector<sc_core::sc_out<bool> > scc::tcp4tlm_server::signals {"signals"}

Definition at line 50 of file tcp4tlm_server.h.

◆ sync

unsigned long long scc::tcp4tlm_server::sync
protected

Definition at line 97 of file tcp4tlm_server.h.

◆ task_que

scc::async_queue<timed_task> scc::tcp4tlm_server::task_que
protected

Definition at line 90 of file tcp4tlm_server.h.

◆ this_host_port

cci::cci_param<unsigned> scc::tcp4tlm_server::this_host_port {"this_host_port", 32000u}

Definition at line 43 of file tcp4tlm_server.h.

◆ timed_task_que

scc::peq<callback_task> scc::tcp4tlm_server::timed_task_que
protected

Definition at line 91 of file tcp4tlm_server.h.

◆ wall_time_simulation_speed

cci::cci_param<bool> scc::tcp4tlm_server::wall_time_simulation_speed {"wall_time_simulation_speed", false}

Definition at line 44 of file tcp4tlm_server.h.

◆ write_no_response

cci::cci_param<bool> scc::tcp4tlm_server::write_no_response {"write_no_response", false}

Definition at line 45 of file tcp4tlm_server.h.


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