- When receiving a Trailers-Only response, return the metadata as
trailing metadata instead of initial metadata.
- Send Trailers-Only response when we have no non-default initial metadata,
no message to send, and trailing metadata to send.
- trace system is now thread safe when run with TSAN
- fix a race in client_auth_filter.c
- allow timer manager to run in single threaded mode for fuzzers
- make closures know where they should be executed (eg, on a workqueue,
or a combiner, or on an exec_ctx)
- this allows removal of a large number of trampoline functions that
were appearing whenever we used combiners, and should allow for a much
easier interface to combiner locks
This patch introduces an additional ALPN protocol, grpc-exp, intended to
take preference to h2 and indicate to the server that the connection
contains only gRPC traffic. This allows servers and intermediate boxes
to distinguish gRPC from other HTTP/2 traffic.
The choice of grpc-exp as a protocol identifier indicates that this
scheme is currently experimental and should not be relied upon. The
protocol is not in the IANA TLS registry.
This patch also introduces client/server handshake tests that validate
the preferential treatment of grpc-exp in an end-to-end manner.