#pragma once #include #include #include #include #include "logger.hpp" class BroadcastAckManager { public: void addPending(uint16_t seq); void receiveAck(uint16_t seq); std::vector checkTimeouts(std::chrono::seconds timeout = std::chrono::seconds(10)); private: std::mutex mutex_; std::unordered_map pendingAcks_; }; // 声明全局对象(供其他地方使用) extern BroadcastAckManager broadcastAckMgr;