fn select_random_ready_peers(&self, max_peers: usize) -> Vec<D::Key> {
        use rand::seq::IteratorRandom;

        self.ready_services
            .keys()
            .copied()
            .choose_multiple(&mut rand::thread_rng(), max_peers)
    }
/// Randomly chooses `max_peers` ready services, ignoring service load.
///
/// The chosen peers are unique, but their order is not fully random.
Randomly chooses `max_peers` ready services, ignoring service load.
The chosen peers are unique, but their order is not fully random.
Randomly chooses ` max_peers ` ready services ignoring service load . The chosen peers are unique but their order is not fully random .
fn select_random_ready_peers(&self, max_peers: usize) -> Vec<D::Key> {
        use rand::seq::IteratorRandom;
        self.ready_services
            .keys()
            .copied()
            .choose_multiple(&mut rand::thread_rng(), max_peers)
    }
fn select_random_ready_peers ( & self , max_peers : usize ) -> Vec < D :: Key > { use rand :: seq :: IteratorRandom ; self . ready_services . keys ( ) . copied ( ) . choose_multiple ( & mut rand :: thread_rng ( ) , max_peers ) }
Randomly chooses `max_peers` ready services, ignoring service load.
Randomly chooses ` max_peers ` ready services ignoring service load .
&self
max_peers
usize