feat: ETLng monitor (#1898)

For #1594
This commit is contained in:
Alex Kremer
2025-02-21 16:10:25 +00:00
committed by GitHub
parent 25296f8ffa
commit 491cd58f93
30 changed files with 756 additions and 53 deletions

View File

@@ -71,6 +71,12 @@ public:
pimpl_->abort();
}
void
invoke()
{
pimpl_->invoke();
}
private:
struct Concept {
virtual ~Concept() = default;
@@ -81,6 +87,8 @@ private:
get() = 0;
virtual void
abort() = 0;
virtual void
invoke() = 0;
};
template <SomeOperation OpType>
@@ -133,6 +141,16 @@ private:
}
}
}
void
invoke() override
{
if constexpr (not SomeForceInvocableOperation<OpType>) {
ASSERT(false, "Called invoke() on an operation that can't be force-invoked");
} else {
operation.invoke();
}
}
};
private: