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