38 static ns3::TypeId GetTypeId();
41 void setMode(NatterMode mode);
43 void setLevelNumber(std::pair<uint32_t, uint32_t> level_number);
44 std::pair<uint32_t, uint32_t> getLevelNumber()
const {
return level_number_; }
47 void addPeer(
const std::string &topic,
const natter::minhcast::NatterMinhcast::NodeInfo &info);
48 void removePeer(
const std::string &topic,
const std::string &uuid);
50 solanet::UUID getUUID()
const;
52 void publish(
const std::string &topic,
const std::string &msg);
53 void subscribeTopic(
const std::string &topic,
54 const natter::minhcast::NatterMinhcast::NodeInfo &info);
55 void unsubscribeTopic(
const std::string &topic);
60 void StartApplication()
final;
62 void logSelfToDB(std::pair<uint32_t, uint32_t> level_number);
64 std::unique_ptr<natter::minhcast::NatterMinhcast> natter_minhcast_;
66 std::shared_ptr<natter::logging::NatterLoggerNs3> logger_;
68 ns3::Ptr<ns3::Socket> socket_;
70 std::pair<uint32_t, uint32_t> level_number_;
72 NatterMode mode_ = NatterMode::kNone;