Goby3 3.2.3
2025.05.13
Loading...
Searching...
No Matches
goby::middleware::io::UDPOneToManyThread< line_in_group, line_out_group, publish_layer, subscribe_layer, Config, ThreadType, use_indexed_groups > Class Template Reference

#include <goby/middleware/io/udp_one_to_many.h>

Inheritance diagram for goby::middleware::io::UDPOneToManyThread< line_in_group, line_out_group, publish_layer, subscribe_layer, Config, ThreadType, use_indexed_groups >:
goby::middleware::io::detail::IOThread< line_in_group, line_out_group, publish_layer, subscribe_layer, IOConfig, SocketType, ThreadType, use_indexed_groups > goby::middleware::io::detail::IOPublishTransporter< Derived, line_in_group, layer, use_indexed_group > goby::middleware::io::detail::IOSubscribeTransporter< Derived, line_out_group, layer, use_indexed_group > goby::middleware::io::UDPPointToPointThread< line_in_group, line_out_group, publish_layer, subscribe_layer, ThreadType, use_indexed_groups >

Public Member Functions

 UDPOneToManyThread (const Config &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, IOConfig, SocketType, ThreadType, use_indexed_groups >
 IOThread (const IOConfig &config, int index, std::string glog_group="i/o")
 Constructs the thread.
 
void initialize () override
 
void finalize () override
 
virtual ~IOThread ()
 

Protected Member Functions

virtual void async_read () override
 Starts an asynchronous read on the udp socket.
 
virtual void async_write (std::shared_ptr< const goby::middleware::protobuf::IOData > io_msg) override
 Starts an asynchronous write from data published.
 
- Protected Member Functions inherited from goby::middleware::io::detail::IOThread< line_in_group, line_out_group, publish_layer, subscribe_layer, IOConfig, SocketType, ThreadType, 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_read_success (std::size_t bytes_transferred, std::shared_ptr< goby::middleware::protobuf::IOData > io_msg)
 
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)
 
SocketType & 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 ()
 

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, typename Config = goby::middleware::protobuf::UDPOneToManyConfig, template< class > class ThreadType = goby::middleware::SimpleThread, bool use_indexed_groups = false>
class goby::middleware::io::UDPOneToManyThread< line_in_group, line_out_group, publish_layer, subscribe_layer, Config, ThreadType, use_indexed_groups >

Definition at line 65 of file udp_one_to_many.h.

Constructor & Destructor Documentation

◆ UDPOneToManyThread()

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, typename Config = goby::middleware::protobuf::UDPOneToManyConfig, template< class > class ThreadType = goby::middleware::SimpleThread, bool use_indexed_groups = false>
goby::middleware::io::UDPOneToManyThread< line_in_group, line_out_group, publish_layer, subscribe_layer, Config, ThreadType, use_indexed_groups >::UDPOneToManyThread ( const Config &  config,
int  index = -1,
bool  is_final = true 
)
inline

Constructs the thread.

Parameters
configA reference to the Protocol Buffers config read by the main application at launch

Definition at line 76 of file udp_one_to_many.h.

◆ ~UDPOneToManyThread()

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, typename Config = goby::middleware::protobuf::UDPOneToManyConfig, template< class > class ThreadType = goby::middleware::SimpleThread, bool use_indexed_groups = false>
goby::middleware::io::UDPOneToManyThread< line_in_group, line_out_group, publish_layer, subscribe_layer, Config, ThreadType, use_indexed_groups >::~UDPOneToManyThread ( )
inlineoverride

Definition at line 86 of file udp_one_to_many.h.

Member Function Documentation

◆ async_read()

template<const goby::middleware::Group & line_in_group, const goby::middleware::Group & line_out_group, goby::middleware::io::PubSubLayer publish_layer, goby::middleware::io::PubSubLayer subscribe_layer, typename Config , template< class > class ThreadType, bool use_indexed_groups>
void goby::middleware::io::UDPOneToManyThread< line_in_group, line_out_group, publish_layer, subscribe_layer, Config, ThreadType, use_indexed_groups >::async_read ( )
overrideprotectedvirtual

◆ async_write()

template<const goby::middleware::Group & line_in_group, const goby::middleware::Group & line_out_group, goby::middleware::io::PubSubLayer publish_layer, goby::middleware::io::PubSubLayer subscribe_layer, typename Config , template< class > class ThreadType, bool use_indexed_groups>
void goby::middleware::io::UDPOneToManyThread< line_in_group, line_out_group, publish_layer, subscribe_layer, Config, ThreadType, use_indexed_groups >::async_write ( std::shared_ptr< const goby::middleware::protobuf::IOData io_msg)
overrideprotectedvirtual

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