maskit commented on pull request #7258:
URL: https://github.com/apache/trafficserver/pull/7258#issuecomment-708117045
For the HTTP/3 question, I think everything related to the metrics should be
done in `HQTransaction` and/or `HQSession`. We currently support HTTP/3 and
HTTP/0.9 on QUIC, and you can think like the HTTP/0.9 support is a variation of
HTTP/3. One transaction runs on one stream. Basically the same approach should
work for both HTTP/2 and HTTP/3 (and HTTP/0.9 on QUIC).
If you are still no sure, you can just file an issue for it. The metrics are
not implemented for H3 anyway. I'm ok as long as it doesn't crash. I think H3
issues should not block 9.0.0 release.
> Ultimately ProxyTransaction::release() should probably be renamed to
something else. Calling super_type::release() seems somewhat obscure.
I'm not sure what you are trying to solve with the renaming. If it's just
for clear naming I'm fine with it, but if you are not a big fun of calling
super type's function we may be able to do something like this:
```cpp
virtual void ProxyTransaction::_release() = 0;
void
ProxyTransaction::release() {
this->decrement_client_transactions_stat();
this->_release()
}
Http1Transaction::_release() {
}
```
I understand the code above is impossible because `super_type::release()` is
called from different places. However, I wonder why we can't call the decrement
function from the same place on all HTTP versions. If we have a function that
will be called at the end of a transaction regardless of how it ends, like
TXN_CLOSE hook, we should be able to call the decrement function from there.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]