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]


Reply via email to