Goby3  3.1.4
2024.02.22
goby::zeromq::LiaisonCommsThread< WtContainer > Class Template Reference

#include <goby/zeromq/liaison/liaison_container.h>

Inheritance diagram for goby::zeromq::LiaisonCommsThread< WtContainer >:
goby::middleware::SimpleThread< goby::apps::zeromq::protobuf::LiaisonConfig > goby::middleware::Thread< goby::apps::zeromq::protobuf::LiaisonConfig, InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > > goby::middleware::coroner::Thread< SimpleThread< goby::apps::zeromq::protobuf::LiaisonConfig > >

Public Member Functions

 LiaisonCommsThread (WtContainer *container, const goby::apps::zeromq::protobuf::LiaisonConfig &config, int index)
 
void loop () override
 
- Public Member Functions inherited from goby::middleware::SimpleThread< goby::apps::zeromq::protobuf::LiaisonConfig >
 SimpleThread (const goby::apps::zeromq::protobuf::LiaisonConfig &cfg, double loop_freq_hertz=0, int index=-1)
 Construct a thread with a given configuration, optionally a loop frequency and/or index. More...
 
 SimpleThread (const goby::apps::zeromq::protobuf::LiaisonConfig &cfg, boost::units::quantity< boost::units::si::frequency > loop_freq, int index=-1)
 Construct a thread with a given configuration, a loop frequency (using boost::units) and optionally an index. More...
 
InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > & intervehicle ()
 Access the transporter on the intervehicle layer (which wraps interprocess and interthread) More...
 
InterProcessForwarder< InterThreadTransporter > & interprocess ()
 Access the transporter on the interprocess layer (which wraps interthread) More...
 
InterThreadTransporterinterthread ()
 Access the transporter on the interthread layer (this is the innermost transporter) More...
 
- Public Member Functions inherited from goby::middleware::Thread< goby::apps::zeromq::protobuf::LiaisonConfig, InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > >
 Thread (const goby::apps::zeromq::protobuf::LiaisonConfig &cfg, InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > *transporter, int index)
 Construct a thread with a given configuration, underlying transporter, and index (for multiple instantiations), but without any loop() frequency. More...
 
 Thread (const goby::apps::zeromq::protobuf::LiaisonConfig &cfg, InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > *transporter, double loop_freq_hertz=0, int index=-1)
 Construct a thread with all possible metadata (using double to specify frequency in Hertz) More...
 
 Thread (const goby::apps::zeromq::protobuf::LiaisonConfig &cfg, InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > *transporter, boost::units::quantity< boost::units::si::frequency > loop_freq, int index=-1)
 Construct a thread with all possible metadata (using boost::units to specify frequency) More...
 
virtual ~Thread ()
 
void run (std::atomic< bool > &alive)
 Run the thread until the boolean reference passed is set false. This call blocks, and should be run in a std::thread by the caller. More...
 
int index () const
 
std::type_index type_index ()
 
void set_type_index (std::type_index type_i)
 
std::string name ()
 
void set_name (const std::string &name)
 
int uid ()
 
void set_uid (int uid)
 

Additional Inherited Members

- Public Types inherited from goby::middleware::Thread< goby::apps::zeromq::protobuf::LiaisonConfig, InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > >
using Transporter = InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > >
 
- Static Public Attributes inherited from goby::middleware::Thread< goby::apps::zeromq::protobuf::LiaisonConfig, InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > >
static constexpr goby::middleware::Group shutdown_group_
 
static constexpr goby::middleware::Group joinable_group_
 
- Protected Member Functions inherited from goby::middleware::Thread< goby::apps::zeromq::protobuf::LiaisonConfig, InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > >
 Thread (const goby::apps::zeromq::protobuf::LiaisonConfig &cfg, boost::units::quantity< boost::units::si::frequency > loop_freq, int index=-1)
 
void set_transporter (InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > *transporter)
 
double loop_frequency_hertz () const
 
decltype(loop_frequency_) loop_frequency () const
 
double loop_max_frequency () const
 
void run_once ()
 
InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter > > & transporter () const
 
const goby::apps::zeromq::protobuf::LiaisonConfigcfg () const
 
virtual void initialize ()
 
virtual void finalize ()
 
void thread_health (goby::middleware::protobuf::ThreadHealth &health)
 
virtual void health (goby::middleware::protobuf::ThreadHealth &health)
 Called when HealthRequest is made by goby_coroner. More...
 
void thread_quit ()
 
bool alive ()
 
- Protected Member Functions inherited from goby::middleware::coroner::Thread< SimpleThread< goby::apps::zeromq::protobuf::LiaisonConfig > >
void subscribe_coroner ()
 

Detailed Description

template<typename WtContainer>
class goby::zeromq::LiaisonCommsThread< WtContainer >

Definition at line 210 of file liaison_container.h.

Constructor & Destructor Documentation

◆ LiaisonCommsThread()

template<typename WtContainer >
goby::zeromq::LiaisonCommsThread< WtContainer >::LiaisonCommsThread ( WtContainer *  container,
const goby::apps::zeromq::protobuf::LiaisonConfig config,
int  index 
)
inline

Definition at line 214 of file liaison_container.h.

Member Function Documentation

◆ loop()

template<typename WtContainer >
void goby::zeromq::LiaisonCommsThread< WtContainer >::loop ( )
inlineoverridevirtual

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