@Test public void nameResolutionError() throws Exception { Status error = Status.NOT_FOUND.withDescription("nameResolutionError"); loadBalancer.handleNameResolutionError(error); verify(mockHelper).updateBalancingState(eq(TRANSIENT_FAILURE), pickerCaptor.capture()); PickResult pickResult = pickerCaptor.getValue().pickSubchannel(mockArgs); assertEquals(null, pickResult.getSubchannel()); assertEquals(error, pickResult.getStatus()); verify(mockSubchannel, never()).requestConnection(); verifyNoMoreInteractions(mockHelper); }
@Override public void handleNameResolutionError(Status error) { helper.updateBalancingState(TRANSIENT_FAILURE, new Picker(PickResult.withError(error))); }
PickFirstLoadBalancer extends LoadBalancer { @Override public void handleNameResolutionError(Status error) { helper.updateBalancingState(TRANSIENT_FAILURE, new Picker(PickResult.withError(error))); } }
PickFirstLoadBalancer extends LoadBalancer { @Override public void handleNameResolutionError(Status error) { helper.updateBalancingState(TRANSIENT_FAILURE, new Picker(PickResult.withError(error))); } PickFirstLoadBalancer(Helper helper); }
PickFirstLoadBalancer extends LoadBalancer { @Override public void handleNameResolutionError(Status error) { helper.updateBalancingState(TRANSIENT_FAILURE, new Picker(PickResult.withError(error))); } PickFirstLoadBalancer(Helper helper); @Override void handleResolvedAddressGroups(
      List<EquivalentAddressGroup> servers, Attributes attributes); @Override void handleNameResolutionError(Status error); @Override void handleSubchannelState(Subchannel subchannel, ConnectivityStateInfo stateInfo); @Override void shutdown(); @Override EquivalentAddressGroup getAddresses(); @Override void setAddress(EquivalentAddressGroup addressGroup); @Override void removeInvalidCacheSubchannels(Set<String> removeHostPorts); }
PickFirstLoadBalancer extends LoadBalancer { @Override public void handleNameResolutionError(Status error) { helper.updateBalancingState(TRANSIENT_FAILURE, new Picker(PickResult.withError(error))); } PickFirstLoadBalancer(Helper helper); @Override void handleResolvedAddressGroups(
      List<EquivalentAddressGroup> servers, Attributes attributes); @Override void handleNameResolutionError(Status error); @Override void handleSubchannelState(Subchannel subchannel, ConnectivityStateInfo stateInfo); @Override void shutdown(); @Override EquivalentAddressGroup getAddresses(); @Override void setAddress(EquivalentAddressGroup addressGroup); @Override void removeInvalidCacheSubchannels(Set<String> removeHostPorts);  }