"Arena.h" is scheduled for KIWF. This would be implemented using 
swoc::MemArena, which is already available to plugins. I am concerned about 
giving plugins direct access to the MemArena because I planned to use it 
internally in the HttpSM as well. I would be interested to
hear what others thinks about exposing the MemArena.

Internally the finalizers are implemented as an IntrusiveDList in the MemArena, 
which avoids having to create and cleanup TSInkCont instances. Also I want to 
avoid calling any plugin API (such as TSXXXDestroy) to avoid reliance on the 
HttpSM being in a usable state. And the finalizers are about cleaning up UDTs, 
not ATS resources.

-----Original Message-----
From: Walt Karas <wka...@yahooinc.com.INVALID> 
Sent: Wednesday, December 6, 2023 9:25 PM
To: dev@trafficserver.apache.org
Subject: Re: [E] [TSAPI] TSTxnAlloc

Could we move Arena.h to tscpp/util, and just add:

Arena & tsapi::txnArena(TSHttpTxn txn);

For your finalizer example, when would that be better than using Cleanup.h?  
That is, when would it be better than having the vector be a data member of the 
TxnAuxData class you provide as a parameter to the TxnAuxDataMgr template?

Reply via email to