Goby3 3.5.1
2026.06.04
Loading...
Searching...
No Matches
goby::middleware::io::UDPThreadMAVLink< line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType > Class Template Reference

Reads/Writes MAVLink message packages from/to udp socket. More...

#include <goby/middleware/io/mavlink/udp.h>

Inheritance diagram for goby::middleware::io::UDPThreadMAVLink< line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType >:
goby::middleware::io::IOThreadMAVLink< line_in_group, line_out_group, publish_layer, subscribe_layer, UDPPointToPointThread< line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType >, goby::middleware::protobuf::UDPPointToPointConfig > goby::middleware::io::UDPPointToPointThread< line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType, use_indexed_groups > goby::middleware::io::UDPOneToManyThread< line_in_group, line_out_group, PubSubLayer::INTERPROCESS, PubSubLayer::INTERTHREAD, goby::middleware::protobuf::UDPPointToPointConfig, goby::zeromq::SimpleThread, false > goby::middleware::io::detail::IOThread< line_in_group, line_out_group, publish_layer, subscribe_layer, goby::middleware::protobuf::UDPPointToPointConfig, boost::asio::ip::udp::socket, goby::zeromq::SimpleThread, use_indexed_groups > goby::middleware::SimpleThread< Config, detail::InterProcessTag > goby::middleware::io::detail::IOPublishTransporter< IOThread< line_in_group, line_out_group, publish_layer, subscribe_layer, goby::middleware::protobuf::UDPPointToPointConfig, boost::asio::ip::udp::socket, goby::zeromq::SimpleThread, use_indexed_groups >, line_in_group, publish_layer, goby::zeromq::SimpleThread< goby::middleware::protobuf::UDPPointToPointConfig >::Transporter::implementation_tag, use_indexed_groups > goby::middleware::io::detail::IOSubscribeTransporter< IOThread< line_in_group, line_out_group, publish_layer, subscribe_layer, goby::middleware::protobuf::UDPPointToPointConfig, boost::asio::ip::udp::socket, goby::zeromq::SimpleThread, use_indexed_groups >, line_out_group, subscribe_layer, goby::zeromq::SimpleThread< goby::middleware::protobuf::UDPPointToPointConfig >::Transporter::implementation_tag, use_indexed_groups > goby::middleware::Thread< Config, TransporterType > goby::middleware::coroner::Thread< Derived >

Public Member Functions

 UDPThreadMAVLink (const goby::middleware::protobuf::UDPPointToPointConfig &config)
 ~UDPThreadMAVLink ()
Public Member Functions inherited from goby::middleware::io::UDPPointToPointThread< line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType, use_indexed_groups >
 UDPPointToPointThread (const goby::middleware::protobuf::UDPPointToPointConfig &config, int index=-1)
 Constructs the thread.
 ~UDPPointToPointThread () override
Public Member Functions inherited from goby::middleware::io::UDPOneToManyThread< line_in_group, line_out_group, PubSubLayer::INTERPROCESS, PubSubLayer::INTERTHREAD, goby::middleware::protobuf::UDPPointToPointConfig, goby::zeromq::SimpleThread, false >
 UDPOneToManyThread (const goby::middleware::protobuf::UDPPointToPointConfig &config, int index=-1, bool is_final=true)
 Constructs the thread.
 ~UDPOneToManyThread () override
Public Member Functions inherited from goby::middleware::io::detail::IOThread< line_in_group, line_out_group, publish_layer, subscribe_layer, goby::middleware::protobuf::UDPPointToPointConfig, boost::asio::ip::udp::socket, goby::zeromq::SimpleThread, use_indexed_groups >
 IOThread (const goby::middleware::protobuf::UDPPointToPointConfig &config, int index, std::string glog_group="i/o")
 Constructs the thread.
void initialize () override
void finalize () override
virtual ~IOThread ()
Public Member Functions inherited from goby::middleware::SimpleThread< Config, detail::InterProcessTag >
 SimpleThread (const Config &cfg, double loop_freq_hertz=0, int index=-1)
 Construct a thread with a given configuration, optionally a loop frequency and/or index.
 SimpleThread (const Config &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.
InterVehicleForwarder< InterProcessForwarder< InterThreadTransporter, detail::InterProcessTag > > & intervehicle ()
 Access the transporter on the intervehicle layer (which wraps interprocess and interthread).
InterProcessForwarder< InterThreadTransporter, detail::InterProcessTag > & interprocess ()
 Access the transporter on the interprocess layer (which wraps interthread).
InterThreadTransporterinterthread ()
 Access the transporter on the interthread layer (this is the innermost transporter).
Public Member Functions inherited from goby::middleware::Thread< Config, TransporterType >
 Thread (const Config &cfg, TransporterType *transporter, int index)
 Construct a thread with a given configuration, underlying transporter, and index (for multiple instantiations), but without any loop() frequency.
 Thread (const Config &cfg, TransporterType *transporter, double loop_freq_hertz=0, int index=-1)
 Construct a thread with all possible metadata (using double to specify frequency in Hertz).
 Thread (const Config &cfg, TransporterType *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).
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.
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)
double loop_frequency_hertz () const
decltype(loop_frequency_) loop_frequency () const
void set_loop_frequency_hertz (double loop_freq_hertz)
void set_loop_frequency (boost::units::quantity< boost::units::si::frequency > loop_freq)

Additional Inherited Members

Public Types inherited from goby::middleware::Thread< Config, TransporterType >
using Transporter = TransporterType
Static Public Attributes inherited from goby::middleware::Thread< Config, TransporterType >
static constexpr goby::middleware::Group shutdown_group_ {"goby::middleware::Thread::shutdown"}
static constexpr goby::middleware::Group joinable_group_ {"goby::middleware::Thread::joinable"}
Protected Member Functions inherited from goby::middleware::io::detail::IOThread< line_in_group, line_out_group, publish_layer, subscribe_layer, goby::middleware::protobuf::UDPPointToPointConfig, boost::asio::ip::udp::socket, goby::zeromq::SimpleThread, use_indexed_groups >
void write (std::shared_ptr< const goby::middleware::protobuf::IOData > io_msg)
void handle_read_success (std::size_t bytes_transferred, const std::string &bytes)
void handle_write_success (std::size_t bytes_transferred)
void handle_read_error (const boost::system::error_code &ec)
void handle_write_error (const boost::system::error_code &ec)
boost::asio::ip::udp::socket & mutable_socket ()
 Access the (mutable) socket (or serial_port) object.
boost::asio::io_contextmutable_io ()
bool socket_is_open ()
 Does the socket exist and is it open?
const std::string & glog_group ()
Protected Member Functions inherited from goby::middleware::Thread< Config, TransporterType >
 Thread (const Config &cfg, boost::units::quantity< boost::units::si::frequency > loop_freq, int index=-1)
void set_transporter (TransporterType *transporter)
double loop_max_frequency () const
void run_once ()
TransporterType & transporter () const
const Config & cfg () const
void thread_health (goby::middleware::protobuf::ThreadHealth &health)
virtual void health (goby::middleware::protobuf::ThreadHealth &health)
 Called when HealthRequest is made by goby_coroner.
void thread_quit ()
bool alive ()
Protected Member Functions inherited from goby::middleware::coroner::Thread< Derived >
void subscribe_coroner ()

Detailed Description

template<const goby::middleware::Group & line_in_group, const goby::middleware::Group & line_out_group, PubSubLayer publish_layer = PubSubLayer::INTERPROCESS, PubSubLayer subscribe_layer = PubSubLayer::INTERTHREAD, template< class > class ThreadType = goby::zeromq::SimpleThread>
class goby::middleware::io::UDPThreadMAVLink< line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType >

Reads/Writes MAVLink message packages from/to udp socket.

Template Parameters
line_in_groupgoby::middleware::Group to publish to after receiving data from the udp socket
line_out_groupgoby::middleware::Group to subcribe to for data to send to the udp socket

Definition at line 79 of file udp.h.

Constructor & Destructor Documentation

◆ UDPThreadMAVLink()

template<const goby::middleware::Group & line_in_group, const goby::middleware::Group & line_out_group, PubSubLayer publish_layer = PubSubLayer::INTERPROCESS, PubSubLayer subscribe_layer = PubSubLayer::INTERTHREAD, template< class > class ThreadType = goby::zeromq::SimpleThread>
goby::middleware::io::UDPThreadMAVLink< line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType >::UDPThreadMAVLink ( const goby::middleware::protobuf::UDPPointToPointConfig & config)
inline

Definition at line 83 of file udp.h.

◆ ~UDPThreadMAVLink()

template<const goby::middleware::Group & line_in_group, const goby::middleware::Group & line_out_group, PubSubLayer publish_layer = PubSubLayer::INTERPROCESS, PubSubLayer subscribe_layer = PubSubLayer::INTERTHREAD, template< class > class ThreadType = goby::zeromq::SimpleThread>
goby::middleware::io::UDPThreadMAVLink< line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType >::~UDPThreadMAVLink ( )
inline

Definition at line 89 of file udp.h.


The documentation for this class was generated from the following file:
  • goby/middleware/io/mavlink/udp.h