Conversation
This is a preparation for enabling cert switching on QUIC connections.
| } | ||
|
|
||
| bool reenabled = netvc->callHooks(TS_EVENT_SSL_CLIENT_HELLO); | ||
| SSLNetVConnection *netvc = dynamic_cast<SSLNetVConnection *>(snis); |
There was a problem hiding this comment.
Looking over the PR - I am concerned that we are adding 3 dynamic casts. Dynamic casts seem to be expensive and have shown up in perf top.
There was a problem hiding this comment.
We talked about the use of dynamic_cast several months ago. I think Alan suggested having T* NetVConnection::get_service<T>()). The function would return a pointer for a specified service (SomethingSupport) if the netvc supports it. The downside is that we'd have to maintain the function in addition to having the name in class declaration. And I already stated I'm ok with having the function if dynamic_cast costs much. It just don't have enough priority on anybody's list.
|
We'll continue the discussion about dynamic_cast on #9482 and resolve performance issue on it at once. |
* Add TLSCertSwitchSupport This is a preparation for enabling cert switching on QUIC connections. * Fix an invalid cast
* commit 'c54a2e2b77151869ff014fbdc4c82cec0afcbb8c': (37 commits) Slight performance improvements before calling APIHooks::clear (apache#9480) libswoc: Update to 1.4.5 (apache#9522) CryptoContext: Clean up to avoid compiler problem. (apache#9521) Add TLSCertSwitchSupport (apache#9322) Add clang-format-tests to clang-format target (apache#9456) Adds the AR env variable to config.nice (apache#9515) Fix .asf.yaml (apache#9519) Hugepage config cleanup (apache#9479) Separate io_uring into a separate library. AIO in io_uring mode uses new io_uring lib. (apache#9462) Avoid memory allocation in CryptoHash (apache#9474) UnitParser: add unit parser support. (apache#9485) autest - Minor fix on the verifier_client test ext to allow setting only the http3 ports. (apache#9517) Remove support for port event polling (apache#9476) QUIC: Add support to configure UDP max payload limit. (apache#9486) Reduce the size of the APIHooks, eliminating enum gap (apache#9509) Add support for CMCD-Request header nor field to prefetch plugin (apache#9232) Eliminates padding from some common structs (apache#9481) Enable external file loading for sni.yaml. (apache#9501) Remove inactive include of IpMapConf.h (apache#9512) Cleanup: Remove RecModeT from the code. (apache#9487) ...
This is preparation for enabling cert switching (or enabling SNI action) on QUIC connections. Like other TLSSomethingSupport, there should be no logic change.
Code change around QUICNetVC will be made on 10-Dev separately.Changes for QUIC is on #9347