It is not possible for such a function to be implemented in a way that
is understood by annotalysis. Mark it deprecated and replace instances
of its use with direct mutex/condvar usage.
Add a bunch of missing thread safety annotations while I'm here.
* Add Python mTLS greeter example (#40)
* Revert "Add Python mTLS greeter example (#40)"
This reverts commit 383c247775.
* Postpone EVP_cleanup until after last server_ssl_test run completes.
* Fix readahead_hs_server_ssl
* Clang fixes and client side initialization fix.
* Comment out EVP_cleanup on client side.
* remove TLS 1.3 ciphers'
* change to using server0 credentials
* log what TLS method is used'
* check compatibility of private key and cert
* Try allowing server to use all ciphers.
* Add logging for test server.
* Fix private key check logging.
* add include for tracing
* define tsi_tracing_enabled flag
* rename tsi_tracing_enabled flag
* try printing bytes to send to peer
* Add automatic curve selection
* Remove logging from SSL transport security
* Add back TLS 1.3 ciphersuites.
Co-authored-by: Ryan Kim <Ryanfsdf@users.noreply.github.com>
The urgent argument is a platform-specific flag that leaked into the (ideally) platform-independent HTTP/2 transport layer. In an effort to clean up the cross-platform API surface, it would be helpful if we can remove this argument from the TCP Read api without losing the performance optimization that was introduced along with it (see #18240).
TCP_INQ is a socket option we added to Linux to report pending bytes
on the socket as a control message.
Using TCP_INQ we can accurately decide whether to continue read or not.
Add an urgent parameter, when we do not want to wait for EPOLLIN.
This commit improves the latency of 1 RPC unary (minimal benchmark)
significantly:
Before:
l_50: 61.3584984733
l_90: 94.8328711277
l_99: 126.211351174
l_999: 158.722406029
After:
l_50: 51.3546011488 (-16%)
l_90: 72.3420731581 (-23%)
l_99: 103.280218974 (-18%)
l_999: 130.905689996 (-17%)
grpc_handshake is renamed to GrpcHandshake, using C++ class definitions
instead of C-style vtable classes. Update callers to use new interfaces.
We use RefCountedPtr to simplify reference tracking.