@@ -333,7 +333,7 @@ pub type Result<T> = std::result::Result<T, Error>;
333333/// # Example
334334///
335335/// ```no_run
336- /// use msg_sim::network::{Network, Link, HubOptions, PeerOptions};
336+ /// use msg_sim::network::{Network, Link, PeerOptions};
337337/// use msg_sim::tc::impairment::LinkImpairment;
338338/// use msg_sim::ip::Subnet;
339339/// use std::net::Ipv4Addr;
@@ -345,9 +345,9 @@ pub type Result<T> = std::result::Result<T, Error>;
345345/// let mut network = Network::new(subnet).await.unwrap();
346346///
347347/// // Add some peers
348- /// let peer_1 = network.add_peer(PeerOptions::default() ).await.unwrap();
349- /// let peer_2 = network.add_peer(PeerOptions::default() ).await.unwrap();
350- /// let peer_3 = network.add_peer(PeerOptions::default() ).await.unwrap();
348+ /// let peer_1 = network.add_peer().await.unwrap();
349+ /// let peer_2 = network.add_peer().await.unwrap();
350+ /// let peer_3 = network.add_peer().await.unwrap();
351351///
352352/// // Configure different impairments for different paths
353353/// network.apply_impairment(
@@ -464,7 +464,7 @@ impl Network {
464464 /// 1. A new network namespace for the peer
465465 /// 2. A veth pair connecting the peer to the hub bridge
466466 /// 3. IP address assignment based on the subnet and peer ID
467- pub async fn add_peer ( & mut self , options : PeerOptions ) -> Result < PeerId > {
467+ pub async fn add_peer_with_options ( & mut self , options : PeerOptions ) -> Result < PeerId > {
468468 let peer_id = PEER_ID_NEXT . load ( Ordering :: Relaxed ) ;
469469 let namespace_name = peer_id. namespace_name ( ) ;
470470 let veth_name = Arc :: new ( peer_id. veth_name ( ) ) ;
@@ -589,6 +589,11 @@ impl Network {
589589 Ok ( peer_id)
590590 }
591591
592+ /// See [`Self::add_peer_with_options`].
593+ pub async fn add_peer ( & mut self ) -> Result < PeerId > {
594+ self . add_peer_with_options ( PeerOptions :: default ( ) ) . await
595+ }
596+
592597 /// Run a task in a peer's network namespace.
593598 ///
594599 /// The provided closure receives a mutable reference to the namespace's context,
@@ -608,7 +613,7 @@ impl Network {
608613 ///
609614 /// ```no_run
610615 /// use msg_sim::ip::Subnet;
611- /// use msg_sim::network::{Network, HubOptions, PeerOptions};
616+ /// use msg_sim::network::{Network, PeerOptions};
612617 /// use std::net::Ipv4Addr;
613618 /// use tokio::net::TcpListener;
614619 ///
@@ -617,7 +622,7 @@ impl Network {
617622 /// let subnet = Subnet::new(Ipv4Addr::new(12, 0, 0, 0).into(), 16);
618623 /// let mut network = Network::new(subnet).await.unwrap();
619624 ///
620- /// let peer_id = network.add_peer(PeerOptions::default() ).await.unwrap();
625+ /// let peer_id = network.add_peer().await.unwrap();
621626 /// network
622627 /// .run_in_namespace(peer_id, |_ctx| {
623628 /// Box::pin(async move {
@@ -678,7 +683,7 @@ impl Network {
678683 /// ```no_run
679684 /// use msg_sim::{
680685 /// ip::Subnet,
681- /// network::{Link, Network, HubOptions, PeerOptions},
686+ /// network::{Link, Network, PeerOptions},
682687 /// tc::impairment::LinkImpairment
683688 /// };
684689 ///
@@ -689,8 +694,8 @@ impl Network {
689694 /// let subnet = Subnet::new(Ipv4Addr::new(12, 0, 0, 0).into(), 16);
690695 /// let mut network = Network::new(subnet).await.unwrap();
691696 ///
692- /// let peer_1 = network.add_peer(PeerOptions::default() ).await.unwrap();
693- /// let peer_2 = network.add_peer(PeerOptions::default() ).await.unwrap();
697+ /// let peer_1 = network.add_peer().await.unwrap();
698+ /// let peer_2 = network.add_peer().await.unwrap();
694699 ///
695700 /// // Simulate a slow, lossy link from peer 1 to peer 2
696701 /// network.apply_impairment(
@@ -837,8 +842,8 @@ mod msg_sim_network {
837842 let subnet = Subnet :: new ( Ipv4Addr :: new ( 12 , 0 , 0 , 0 ) . into ( ) , 16 ) ;
838843 let mut network = Network :: new ( subnet) . await . unwrap ( ) ;
839844
840- let _peer_id = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
841- let _peer_id = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
845+ let _peer_id = network. add_peer ( ) . await . unwrap ( ) ;
846+ let _peer_id = network. add_peer ( ) . await . unwrap ( ) ;
842847 }
843848
844849 /// Test basic request/reply communication between two peers.
@@ -849,8 +854,8 @@ mod msg_sim_network {
849854 let subnet = Subnet :: new ( Ipv4Addr :: new ( 13 , 0 , 0 , 0 ) . into ( ) , 16 ) ;
850855 let mut network = Network :: new ( subnet) . await . unwrap ( ) ;
851856
852- let peer_1 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
853- let peer_2 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
857+ let peer_1 = network. add_peer ( ) . await . unwrap ( ) ;
858+ let peer_2 = network. add_peer ( ) . await . unwrap ( ) ;
854859
855860 let address_2 = peer_2. veth_address ( subnet) ;
856861 let port_2 = 12345 ;
@@ -895,9 +900,9 @@ mod msg_sim_network {
895900 let subnet = Subnet :: new ( Ipv4Addr :: new ( 12 , 0 , 0 , 0 ) . into ( ) , 16 ) ;
896901 let mut network = Network :: new ( subnet) . await . unwrap ( ) ;
897902
898- let peer_1 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
899- let peer_2 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
900- let _peer_3 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
903+ let peer_1 = network. add_peer ( ) . await . unwrap ( ) ;
904+ let peer_2 = network. add_peer ( ) . await . unwrap ( ) ;
905+ let _peer_3 = network. add_peer ( ) . await . unwrap ( ) ;
901906
902907 let impairment = LinkImpairment {
903908 loss : 50.0 ,
@@ -917,8 +922,8 @@ mod msg_sim_network {
917922 let subnet = Subnet :: new ( Ipv4Addr :: new ( 14 , 0 , 0 , 0 ) . into ( ) , 16 ) ;
918923 let mut network = Network :: new ( subnet) . await . unwrap ( ) ;
919924
920- let peer_1 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
921- let peer_2 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
925+ let peer_1 = network. add_peer ( ) . await . unwrap ( ) ;
926+ let peer_2 = network. add_peer ( ) . await . unwrap ( ) ;
922927
923928 // Apply 1 second latency from peer 1 to peer 2
924929 let sec_in_us = 1_000_000 ;
@@ -977,9 +982,9 @@ mod msg_sim_network {
977982 let subnet = Subnet :: new ( Ipv4Addr :: new ( 15 , 0 , 0 , 0 ) . into ( ) , 16 ) ;
978983 let mut network = Network :: new ( subnet) . await . unwrap ( ) ;
979984
980- let peer_1 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
981- let peer_2 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
982- let peer_3 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
985+ let peer_1 = network. add_peer ( ) . await . unwrap ( ) ;
986+ let peer_2 = network. add_peer ( ) . await . unwrap ( ) ;
987+ let peer_3 = network. add_peer ( ) . await . unwrap ( ) ;
983988
984989 // Peer 1 → Peer 2: 100ms latency
985990 let fast_latency_us = 100_000 ;
@@ -1085,8 +1090,8 @@ mod msg_sim_network {
10851090 let subnet = Subnet :: new ( Ipv4Addr :: new ( 16 , 0 , 0 , 0 ) . into ( ) , 16 ) ;
10861091 let mut network = Network :: new ( subnet) . await . unwrap ( ) ;
10871092
1088- let peer_1 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1089- let peer_2 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1093+ let peer_1 = network. add_peer ( ) . await . unwrap ( ) ;
1094+ let peer_2 = network. add_peer ( ) . await . unwrap ( ) ;
10901095
10911096 // Apply bandwidth limit: 1 Mbit/s from peer 1 to peer 2
10921097 let bandwidth_mbit = 1.0 ;
@@ -1159,8 +1164,8 @@ mod msg_sim_network {
11591164 let subnet = Subnet :: new ( Ipv4Addr :: new ( 17 , 0 , 0 , 0 ) . into ( ) , 16 ) ;
11601165 let mut network = Network :: new ( subnet) . await . unwrap ( ) ;
11611166
1162- let peer_1 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1163- let peer_2 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1167+ let peer_1 = network. add_peer ( ) . await . unwrap ( ) ;
1168+ let peer_2 = network. add_peer ( ) . await . unwrap ( ) ;
11641169
11651170 // Apply both bandwidth limit and latency
11661171 let latency_us = 100_000 ; // 100ms
@@ -1230,8 +1235,8 @@ mod msg_sim_network {
12301235 let subnet = Subnet :: new ( Ipv4Addr :: new ( 18 , 0 , 0 , 0 ) . into ( ) , 16 ) ;
12311236 let mut network = Network :: new ( subnet) . await . unwrap ( ) ;
12321237
1233- let peer_1 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1234- let peer_2 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1238+ let peer_1 = network. add_peer ( ) . await . unwrap ( ) ;
1239+ let peer_2 = network. add_peer ( ) . await . unwrap ( ) ;
12351240
12361241 // First application: 100ms latency
12371242 let impairment_1 = LinkImpairment { latency : 100_000 , ..Default :: default ( ) } ;
@@ -1261,8 +1266,8 @@ mod msg_sim_network {
12611266 let subnet = Subnet :: new ( Ipv4Addr :: new ( 19 , 0 , 0 , 0 ) . into ( ) , 16 ) ;
12621267 let mut network = Network :: new ( subnet) . await . unwrap ( ) ;
12631268
1264- let peer_1 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1265- let peer_2 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1269+ let peer_1 = network. add_peer ( ) . await . unwrap ( ) ;
1270+ let peer_2 = network. add_peer ( ) . await . unwrap ( ) ;
12661271
12671272 // Different impairments in each direction
12681273 let impairment_1_to_2 = LinkImpairment { latency : 50_000 , ..Default :: default ( ) } ;
@@ -1286,8 +1291,8 @@ mod msg_sim_network {
12861291 let subnet = Subnet :: new ( Ipv4Addr :: new ( 20 , 0 , 0 , 0 ) . into ( ) , 16 ) ;
12871292 let mut network = Network :: new ( subnet) . await . unwrap ( ) ;
12881293
1289- let peer_1 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1290- let peer_2 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1294+ let peer_1 = network. add_peer ( ) . await . unwrap ( ) ;
1295+ let peer_2 = network. add_peer ( ) . await . unwrap ( ) ;
12911296
12921297 // Apply bandwidth limit with custom burst
12931298 network
@@ -1320,9 +1325,9 @@ mod msg_sim_network {
13201325 let subnet = Subnet :: new ( Ipv4Addr :: new ( 24 , 0 , 0 , 0 ) . into ( ) , 16 ) ;
13211326 let mut network = Network :: new ( subnet) . await . unwrap ( ) ;
13221327
1323- let peer_1 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1324- let peer_2 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1325- let peer_3 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1328+ let peer_1 = network. add_peer ( ) . await . unwrap ( ) ;
1329+ let peer_2 = network. add_peer ( ) . await . unwrap ( ) ;
1330+ let peer_3 = network. add_peer ( ) . await . unwrap ( ) ;
13261331
13271332 // First netem WITH duplicate - works
13281333 let with_dup = LinkImpairment { latency : 20_000 , duplicate : 0.02 , ..Default :: default ( ) } ;
@@ -1351,8 +1356,8 @@ mod msg_sim_network {
13511356 let subnet = Subnet :: new ( Ipv4Addr :: new ( 21 , 0 , 0 , 0 ) . into ( ) , 16 ) ;
13521357 let mut network = Network :: new ( subnet) . await . unwrap ( ) ;
13531358
1354- let peer_1 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1355- let peer_2 = network. add_peer ( PeerOptions :: default ( ) ) . await . unwrap ( ) ;
1359+ let peer_1 = network. add_peer ( ) . await . unwrap ( ) ;
1360+ let peer_2 = network. add_peer ( ) . await . unwrap ( ) ;
13561361
13571362 // Apply 100% packet duplication from peer 1 to peer 2
13581363 // This should cause every packet to be sent twice
0 commit comments