Reads/Writes strings from/to a TCP connection using a Consistent Overhead Byte Stuffing (COBS) binary protocol.
More...
|
| TCPClientThreadCOBS (const goby::middleware::protobuf::TCPClientConfig &config, int index=-1) |
| Constructs the thread. More...
|
|
| ~TCPClientThreadCOBS () |
|
| TCPClientThread (const goby::middleware::protobuf::TCPClientConfig &config, int index=-1) |
| Constructs the thread. More...
|
|
| ~TCPClientThread () override |
|
| IOThread (const goby::middleware::protobuf::TCPClientConfig &config, int index, std::string glog_group="i/o") |
| Constructs the thread. More...
|
|
void | initialize () override |
|
void | finalize () override |
|
virtual | ~IOThread () |
|
| SimpleThread (const goby::middleware::protobuf::TCPClientConfig &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::middleware::protobuf::TCPClientConfig &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...
|
|
InterThreadTransporter & | interthread () |
| Access the transporter on the interthread layer (this is the innermost transporter) More...
|
|
| Thread (const goby::middleware::protobuf::TCPClientConfig &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::middleware::protobuf::TCPClientConfig &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::middleware::protobuf::TCPClientConfig &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) |
|
template<const goby::middleware::Group & packet_in_group, const goby::middleware::Group & packet_out_group, PubSubLayer publish_layer = PubSubLayer::INTERPROCESS, PubSubLayer subscribe_layer = PubSubLayer::INTERTHREAD, typename Config = goby::middleware::protobuf::TCPClientConfig, template< class > class ThreadType = goby::middleware::SimpleThread, bool use_indexed_groups = false>
class goby::middleware::io::TCPClientThreadCOBS< packet_in_group, packet_out_group, publish_layer, subscribe_layer, Config, ThreadType, use_indexed_groups >
Reads/Writes strings from/to a TCP connection using a Consistent Overhead Byte Stuffing (COBS) binary protocol.
- Template Parameters
-
Definition at line 74 of file tcp_client.h.
template<const goby::middleware::Group & packet_in_group, const goby::middleware::Group & packet_out_group, PubSubLayer publish_layer = PubSubLayer::INTERPROCESS, PubSubLayer subscribe_layer = PubSubLayer::INTERTHREAD, typename Config = goby::middleware::protobuf::TCPClientConfig, template< class > class ThreadType = goby::middleware::SimpleThread, bool use_indexed_groups = false>
Constructs the thread.
- Parameters
-
config | A reference to the Protocol Buffers config read by the main application at launch |
index | Thread index for multiple instances in a given application (-1 indicates a single instance) |
Definition at line 85 of file tcp_client.h.
template<const goby::middleware::Group & packet_in_group, const goby::middleware::Group & packet_out_group, PubSubLayer publish_layer = PubSubLayer::INTERPROCESS, PubSubLayer subscribe_layer = PubSubLayer::INTERTHREAD, typename Config = goby::middleware::protobuf::TCPClientConfig, template< class > class ThreadType = goby::middleware::SimpleThread, bool use_indexed_groups = false>
template<const goby::middleware::Group & packet_in_group, const goby::middleware::Group & packet_out_group, PubSubLayer publish_layer = PubSubLayer::INTERPROCESS, PubSubLayer subscribe_layer = PubSubLayer::INTERTHREAD, typename Config = goby::middleware::protobuf::TCPClientConfig, template< class > class ThreadType = goby::middleware::SimpleThread, bool use_indexed_groups = false>
template<class Thread , class ThreadBase >
void cobs_async_read |
( |
Thread * |
this_thread, |
|
|
std::shared_ptr< ThreadBase > |
self = std::shared_ptr<ThreadBase>() |
|
) |
| |
|
friend |
template<const goby::middleware::Group & packet_in_group, const goby::middleware::Group & packet_out_group, PubSubLayer publish_layer = PubSubLayer::INTERPROCESS, PubSubLayer subscribe_layer = PubSubLayer::INTERTHREAD, typename Config = goby::middleware::protobuf::TCPClientConfig, template< class > class ThreadType = goby::middleware::SimpleThread, bool use_indexed_groups = false>
template<class Thread >