// // HolerManager.swift // sdlan // // Created by 安礼成 on 2025/7/14. // import Foundation actor HolerManager { private var holers: [Data:Task<(), Never>] = [:] func addHoler(dstMac: Data, creator: @escaping () -> Task<(), Never>) { if let task = self.holers[dstMac] { if task.isCancelled { self.holers[dstMac] = creator() } } else { self.holers[dstMac] = creator() } } func cleanup() { for holer in holers.values { holer.cancel() } self.holers.removeAll() } }