- }
- des_set
-
-}
-
-//take a vector of descriptors and performs do_read_event on each of them
-fn mass_do_read_event(&self, mut des_set: Vec<Descriptor>)
-{
- for (mut Descriptor) in des_set.iter_mut(){
- let data: Vec<u8> = Vec::new();
-
- let res = match self.do_read_event(&mut Descriptor, data){
- Ok(pause_read) => pause_read,
- Err(e) => panic!("something is wrong"),
- };
- }
-
-}
-
-// iterate through our peers, if there are outstanding pings add a descriptor for the peer to a vector to be removed
-//otherwise ping all peers
-fn handle_pings(&self)-> Vec<Descriptor>{
-
- let mut des_set: Vec<Descriptor> = Vec::new();
- let mut peers_lock = self.peers.lock().unwrap();
- let peers = peers_lock.borrow_parts();
-
- for (Descriptor, mut Peer) in peers.peers.iter_mut() {
-
- // Disconect the Peer if there is an outstanding ping for which we have not been ponged
- if Peer.ping_tracker > 0 {
- let mut descriptor = Descriptor.clone();
- des_set.push(descriptor);
- }