()
| 568 | } |
| 569 | |
| 570 | func (n *server) RandomPeerIP() (ips []string) { |
| 571 | select { |
| 572 | case <-n.ctx.Done(): |
| 573 | default: |
| 574 | slice := n.members.MembersIP() |
| 575 | rand.Seed(time.Now().UnixNano()) |
| 576 | rand.Shuffle(len(slice), func(i, j int) { slice[i], slice[j] = slice[j], slice[i] }) |
| 577 | for _, ip := range slice { |
| 578 | ips = append(ips, ip.String()) |
| 579 | } |
| 580 | } |
| 581 | return |
| 582 | } |
| 583 | |
| 584 | func (n *server) MembersID() (ids [][]byte) { |
| 585 | select { |