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_;