> On May 17, 2019, at 9:48 AM, Walt Karas <wka...@verizonmedia.com.INVALID>
> wrote:
>
> But are there people who write plugins in other languages (like Java for
> example) that can call C functions, but not C++ functions? If so, wouldn't
> this break their plugins?
Never heard of that. How would someone do that ? You can write Java such that
the C-callbacks / continuations from ATS somehow gets called into the
appropriate Java API? dlopen() would need to find all these entry points in the
.so.
— leif
>
> On Fri, May 17, 2019 at 8:41 AM Leif Hedstrom <zw...@apache.org> wrote:
>
>> 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
>>
>>