zwoop commented on code in PR #10694:
URL: https://github.com/apache/trafficserver/pull/10694#discussion_r1384390733
##########
include/api/Metrics.h:
##########
@@ -45,23 +45,47 @@ class Metrics
private:
using self_type = Metrics;
+ class AtomicType
+ {
+ friend class Metrics;
+
+ public:
+ AtomicType() = default;
+ virtual ~AtomicType() = default;
Review Comment:
It had to be virtual, otherwise I couldn't subclass it later as I did. And I
had to sub class it, rather than aliases, to make the compiler detect bad
usage. It's not considered polymorphic otherwise, e.g.
```
/Users/leif/apache/trafficserver/src/proxy/http/PreWarmManager.cc:1181:18:
error: 'ts::Metrics::AtomicType' is not polymorphic
metric = dynamic_cast<Metrics::Counter::AtomicType
*>(metrics.lookup(stats_id));
```
Maybe we can fix the usage that's causing trouble here, I didn't write this
code in the PreWarmManager.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]