[handshaker] add new priority as a temporary hack

PiperOrigin-RevId: 626063899
pull/36393/head
Mark D. Roth 10 months ago committed by Copybara-Service
parent 6dc64db1a8
commit fa248b1fe8
  1. 16
      src/core/lib/transport/handshaker_factory.h

@ -58,6 +58,22 @@ class HandshakerFactory {
// Handshakers that are responsible for post connect security handshakes.
// Applicable for both Client and Server handshakers.
kSecurityHandshakers,
// TEMPORARY HACK -- DO NOT USE
// Currently, handshakers that need to hijack the endpoint's fd and
// exit early (which generally run at priority kSecurityHandshakers)
// need to call grpc_tcp_destroy_and_release_fd(), which asserts
// that the endpoint is an iomgr endpoint. If another handshaker
// has wrapped the endpoint before then, this assertion fails. So
// for now, we introduce a new priority here for handshakers that
// need to wrap the endpoint, to make sure that they run after
// handshakers that hijack the fd and exit early.
// TODO(hork): As part of migrating to the EventEngine endpoint API,
// remove this priority. In the EE API, handshakers that want to
// hijack the fd will do so via the query interface, so we can just
// have any wrapper endpoints forward query interfaces to the wrapped
// endpoint, so that it's not a problem if the endpoint is wrapped
// before a handshaker needs to hijack the fd.
kTemporaryHackDoNotUseEndpointWrappingHandshakers,
};
virtual void AddHandshakers(const ChannelArgs& args,

Loading…
Cancel
Save