1- use crate :: { network:: NetworkError , types:: Command , FragmentAssembler , RoutingHandler } ;
1+ use crate :: { FragmentAssembler , RoutingHandler , network:: NetworkError , types:: Command } ;
22
3- use crossbeam_channel:: { select_biased, Receiver } ;
4- use wg_internal:: { network:: NodeId , packet:: { Packet , PacketType } } ;
3+ use crossbeam_channel:: { Receiver , select_biased} ;
4+ use wg_internal:: {
5+ network:: NodeId ,
6+ packet:: { Packet , PacketType } ,
7+ } ;
58
69pub trait Processor : Send {
710 fn controller_recv ( & self ) -> & Receiver < Box < dyn Command > > ;
@@ -21,7 +24,7 @@ pub trait Processor: Send {
2124 PacketType :: MsgFragment ( fragment) => {
2225 let idx = fragment. fragment_index ;
2326 let mut shr = pkt. routing_header . clone ( ) ;
24- shr. reverse ( ) ;
27+ shr. reverse ( ) ;
2528 self . routing_handler ( ) . send_ack ( shr, pkt. session_id , idx) ?;
2629 if let Some ( msg) = self . assembler ( ) . add_fragment (
2730 fragment,
@@ -48,12 +51,14 @@ pub trait Processor: Send {
4851 }
4952
5053 fn run ( & mut self ) {
54+ let _ = self . routing_handler ( ) . start_flood ( ) ;
5155 loop {
5256 select_biased ! {
5357 recv( self . controller_recv( ) ) -> cmd => {
5458 if let Ok ( cmd) = cmd {
5559 if self . handle_command( cmd) {
56- println!( "Sto terminando" ) ;
60+ // Terminate if handle_command returns true
61+ println!( "Terminating" ) ;
5762 return ;
5863 }
5964 }
0 commit comments