25 #ifndef _PLUGINS_GAZSIM_COMM_COMM_THREAD_H_
26 #define _PLUGINS_GAZSIM_COMM_COMM_THREAD_H_
28 #include <aspect/blocked_timing.h>
29 #include <aspect/configurable.h>
30 #include <aspect/logging.h>
31 #include <core/threading/thread.h>
32 #include <google/protobuf/message.h>
33 #include <protobuf_comm/message_register.h>
34 #include <protobuf_comm/peer.h>
36 #include <boost/asio.hpp>
39 namespace protobuf_comm {
40 class ProtobufStreamClient;
65 void peer_send_error(std::string address,
unsigned int port, std::string err);
66 void receive_raw_msg(boost::asio::ip::udp::endpoint &endpoint,
72 std::vector<protobuf_comm::ProtobufBroadcastPeer *> peers_;
73 std::vector<protobuf_comm::ProtobufBroadcastPeer *> peers_crypto1_;
74 std::vector<protobuf_comm::ProtobufBroadcastPeer *> peers_crypto2_;
77 std::vector<std::string> addresses_;
78 std::vector<unsigned int> send_ports_;
79 std::vector<unsigned int> recv_ports_;
80 std::vector<unsigned int> send_ports_crypto1_;
81 std::vector<unsigned int> recv_ports_crypto1_;
82 std::vector<unsigned int> send_ports_crypto2_;
83 std::vector<unsigned int> recv_ports_crypto2_;
85 bool use_crypto1_, use_crypto2_;
87 std::vector<std::string> proto_dirs_;
Plugin simulates and manages communication for Simulation in Gazebo.
virtual void run()
Stub to see name in backtrace for easier debugging.
virtual void init()
Initialize the thread.
virtual void finalize()
Finalize the thread.
virtual void loop()
Code to execute in the thread.
Thread aspect to use blocked timing.
Thread aspect to access configuration data.
Thread aspect to log output.
Thread class encapsulation of pthreads.