tree 105f27ea7bb8720a114e5dc9392fb9ad44b8cc82
parent a004ae3e668527afa18ef3dd00a643a96e730a88
author Willy Tarreau <w@1wt.eu> 1543752283 +0100
committer Willy Tarreau <w@1wt.eu> 1543752736 +0100
encoding latin1

MINOR: connection: create conn_get_best_mux_entry()

We currently have conn_get_best_mux() to return the best mux for a
given protocol name, side and proxy mode. But we need the mux entry
as well in order to fix the bind_conf and servers at the end of the
config parsing. Let's split the function in two parts. It's worth
noting that the <conn> argument is never used anymore so this part
is eligible to some cleanup.
