-
Carl Mastrangelo authored
This PR splits out grpclb from grpc. I have made the PR in several commits so you can see more clearly the steps that happened. There are a few possibly contentious points that I would like to make clear up front: * grpclb will no longer autoload as a load balancer. I think this is okay, as service config is not widely (at all?) used, and I believe this is the only way to access it. * `internal` is used more, as a way of having code shared between packages without exposing types * ConnectivityStateEvaluator, as used by grpclb, is no longer thread safe. I believe there is an outer mutex that guards access, but I want to point out this subtle change up here. All but one tests pass with this, due to another cyclic dependency. I can fix this, but it is a little more widely scoped (such as exposing grpc.server and grpc.errorDesc in the internal package). This PR is a nearly-passing sample of that last step to get this working. PTAL @menghanl @dfawley
4344c204