File tree 1 file changed +6
-12
lines changed
balancer/pickfirst/pickfirstleaf
1 file changed +6
-12
lines changed Original file line number Diff line number Diff line change @@ -341,22 +341,16 @@ func interleaveAddresses(addrs []resolver.Address) []resolver.Address {
341
341
342
342
interleavedAddrs := make ([]resolver.Address , 0 , len (addrs ))
343
343
curTypeIndex := 0
344
- for i := 0 ; i < len (addrs ); i ++ {
344
+ for len ( interleavedAddrs ) < len (addrs ) {
345
345
// Some IP types may have fewer addresses than others, so we look for
346
346
// the next type that has a remaining member to add to the interleaved
347
347
// list.
348
- for {
349
- curType := interleavingOrder [curTypeIndex ]
350
- remainingMembers := familyAddrsMap [curType ]
351
- if len (remainingMembers ) > 0 {
352
- break
353
- }
354
- curTypeIndex = (curTypeIndex + 1 ) % len (interleavingOrder )
348
+ typ := interleavingOrder [curTypeIndex ]
349
+ remainingMembers := familyAddrsMap [typ ]
350
+ if len (remainingMembers ) > 0 {
351
+ interleavedAddrs = append (interleavedAddrs , remainingMembers [0 ])
352
+ familyAddrsMap [typ ] = remainingMembers [1 :]
355
353
}
356
- curType := interleavingOrder [curTypeIndex ]
357
- remainingMembers := familyAddrsMap [curType ]
358
- interleavedAddrs = append (interleavedAddrs , remainingMembers [0 ])
359
- familyAddrsMap [curType ] = remainingMembers [1 :]
360
354
curTypeIndex = (curTypeIndex + 1 ) % len (interleavingOrder )
361
355
}
362
356
You can’t perform that action at this time.
0 commit comments