The idea is interesting and I'm not going to stop this for now, however, I'm not so sure this can be used widely so far.
I understand OpenSSL vs BoringSSL is just an example and their old APIs can be wrapped with this, but I don't think it can cover all cases. For example, some cases may need extra function calls at other places and usage may completely different (sync/async), which means we would need `ifdef`s somewhere anyway. If above was true, it would make inconsistency like "To do A, you can use meta (TS_SSL_x), but to do B, you need ifdef SSL_y_init and SSL_y_fin". This doesn't sound great. Another concern is that it's not feature oriented. Let's say we need 3 APIs to achieve a feature. What will happen if a platform / library supports only 2 of them? In this case, we need to check the all availability and define one flag to indicate that all the APIs are available and we can achieve the feature. It would be great if you could show me more examples. Especially, examples that make existing code great (but not OpenSSL vs BoringSSL). [ Full content available at: https://github.com/apache/trafficserver/pull/4140 ] This message was relayed via gitbox.apache.org for [email protected]
