Эх сурвалжийг харах

Merge #568

568: Expose `self.sockets` in `Interface` r=Dirbaio a=korken89

This is needed to not loose access to methods on sockets, e.g. iterating
over them and closing or checking which ports are being used.

Not sure if there is some other way this is meant to be done.

Co-authored-by: Emil Fresk <emil.fresk@gmail.com>
bors[bot] 3 жил өмнө
parent
commit
8e6fc7fec8
1 өөрчлөгдсөн 10 нэмэгдсэн , 0 устгасан
  1. 10 0
      src/iface/interface.rs

+ 10 - 0
src/iface/interface.rs

@@ -555,6 +555,16 @@ where
         &mut self.device
     }
 
+    /// Get an iterator to the inner sockets.
+    pub fn sockets(&self) -> impl Iterator<Item = &Socket<'a>> {
+        self.sockets.iter()
+    }
+
+    /// Get a mutable iterator to the inner sockets.
+    pub fn sockets_mut(&mut self) -> impl Iterator<Item = &mut Socket<'a>> {
+        self.sockets.iter_mut()
+    }
+
     /// Add an address to a list of subscribed multicast IP addresses.
     ///
     /// Returns `Ok(announce_sent)` if the address was added successfully, where `annouce_sent`