44 bool first_node,
const ns3::Ptr<ns3::Socket> &socket, uint32_t device_id);
46 std::string getConnectionString()
const;
57 bool connectionRequest(ns3::Ptr<ns3::Socket> socket,
const ns3::Address &addr);
58 void newConnectionCreated(ns3::Ptr<ns3::Socket> socket,
const ns3::Address &addr);
62 void processMessageField(
const message::FieldMessage &msg);
63 void processMessageDescription(
const std::string &payload);
66 void readFromSocket(ns3::Ptr<ns3::Socket> socket);
68 const uint32_t device_id_ = 0;
69 ns3::Ptr<ns3::Socket> socket_;
70 ns3::Ptr<ns3::Socket> socket_agv_;
71 std::shared_ptr<sola_ns3::SOLAWrapperNs3> sola_;
72 std::shared_ptr<PathPlanningLoggerNs3> logger_;
76 uint32_t current_authority_station_id_ = UINT32_MAX;
77 std::string current_authority_ip_ =
"NONE";
78 uint16_t current_authority_port_ = 0;
85 consensus::ConsensusSettings consensus_settings_;
86 std::optional<consensus::PaxosReplicationManager> replication_manager_;
89 void initReplication();
91 void processMessage(
const sola::Message &msg);
94 void processReachedGoal();