grpc-java/core
Eric Anderson 8844cf7b87 core: Fully delegate picks to DelayedClientTransport
DelayedClientTransport already had to handle all the cases, so
ManagedChannelImpl picking was acting only as an optimization.
Optimizing DelayedClientTransport to avoid the lock when not queuing
makes ManagedChannelImpl picking entirely redundant, and allows us to
remove the duplicate race-handling logic.

This avoids double-picking when queuing, where ManagedChannelImpl does a
pick, decides to queue, and then DelayedClientTransport re-performs the
pick because it doesn't know which pick version was used. This was
noticed with RLS, which mutates state within the picker.
2024-05-14 11:37:14 -07:00
..
src core: Fully delegate picks to DelayedClientTransport 2024-05-14 11:37:14 -07:00
BUILD.bazel bazel: Use the `artifact` macro for loading maven deps 2024-03-28 14:33:32 -07:00
build.gradle Remove semi-circular dependency between core and util 2024-02-16 12:31:54 -08:00