If we change this, such that all plugins must be compiled with C++ compilers, we have the liberty of using C++’ism in the public interfaces, such as ts/ts.h and ts/remap.h. This has benefits, such as being able to expose internal APIs of ATS without going through complex glue interfaces and opaque pointers.
The disadvantage is that keeping ABI compatibility is a fair amount more tricky. However, I don’t feel this is a significant issue, as long as we don’t break it within minor / patch releases. It does make things trickier here too though, so we have to be open to the possibility of accidental breakage of ABI compatibility. I think the advantages outweighs the disadvantages. The tasks for this is tracked on https://github.com/apache/trafficserver/issues/5360 Cheers, — leif