in grpc-gcp/src/main/java/com/google/cloud/grpc/GcpManagedChannel.java [1462:1479]
protected void bind(ChannelRef channelRef, List<String> affinityKeys) {
if (channelRef == null || affinityKeys == null) {
return;
}
if (logger.isLoggable(Level.FINEST)) {
logger.finest(
log(
"Binding %d key(s) to channel %d: [%s]",
affinityKeys.size(), channelRef.getId(), String.join(", ", affinityKeys)));
}
for (String affinityKey : affinityKeys) {
while (affinityKeyToChannelRef.putIfAbsent(affinityKey, channelRef) != null) {
unbind(Collections.singletonList(affinityKey));
}
affinityKeyLastUsed.put(affinityKey, System.nanoTime());
channelRef.affinityCountIncr();
}
}