hanlders iterator

This commit is contained in:
orignal committed 2026-07-21 18:48:40 -04:00
1 parent 53bf068268
commit fcd581ec6a
2 files changed
+14 -3

No files matched your search

+4 -3
View File
@@ -67,9 +67,10 @@ namespace client
{
if(m_ConnectTimeout)
m_ReadyTimer.cancel();
std::unique_lock<std::mutex> l(m_HandlersMutex);
for (auto it: m_Handlers)
it->Terminate ();
IterateHandlers ([](std::shared_ptr<I2PServiceHandler> handler)
{
if (handler) handler->Terminate ();
});
m_Handlers.clear();
}
+10
View File
@@ -74,6 +74,16 @@ namespace client
virtual const char* GetName() const { return "Generic I2P Service"; }
protected:
template<typename Callback>
void IterateHandlers (Callback&& callback)
{
std::unique_lock<std::mutex> l(m_HandlersMutex);
for (auto it: m_Handlers)
callback (it);
}
private:
void TriggerReadyCheckTimer();