29 #define GRPC_ARG_GRPCLB_BALANCER_ADDRESSES "grpc.grpclb_balancer_addresses"
35 void* BalancerAddressesArgCopy(
void* p) {
40 void BalancerAddressesArgDestroy(
void* p) {
45 int BalancerAddressesArgCmp(
void* p,
void* q) {
48 if (address_list1 ==
nullptr || address_list2 ==
nullptr) {
51 if (address_list1->size() > address_list2->size())
return 1;
52 if (address_list1->size() < address_list2->size())
return -1;
53 for (
size_t i = 0;
i < address_list1->size(); ++
i) {
54 int retval = (*address_list1)[
i].Cmp((*address_list2)[
i]);
55 if (retval != 0)
return retval;
61 BalancerAddressesArgCopy, BalancerAddressesArgDestroy,
62 BalancerAddressesArgCmp};
71 &kBalancerAddressesArgVtable);
76 return grpc_channel_args_find_pointer<const ServerAddressList>(