@@ -55,10 +55,7 @@ pub enum Event {
5555 RecvClosed ,
5656
5757 /// Send/receive message with optional flag.
58- Message {
59- payload : Vec < u8 > ,
60- flag : Option < i32 > ,
61- } ,
58+ Message { payload : Vec < u8 > , flag : Option < i32 > } ,
6259}
6360
6461/// Substream stream.
@@ -157,7 +154,8 @@ impl SubstreamHandle {
157154 // Received FIN, send FIN_ACK back
158155 self . tx . send ( Event :: RecvClosed ) . await ?;
159156 // Send FIN_ACK to acknowledge
160- return self . tx
157+ return self
158+ . tx
161159 . send ( Event :: Message {
162160 payload : vec ! [ ] ,
163161 flag : Some ( Flag :: FinAck as i32 ) ,
@@ -191,7 +189,8 @@ impl SubstreamHandle {
191189
192190 if let Some ( payload) = message. payload {
193191 if !payload. is_empty ( ) {
194- return self . tx
192+ return self
193+ . tx
195194 . send ( Event :: Message {
196195 payload,
197196 flag : None ,
@@ -424,10 +423,13 @@ mod tests {
424423 flag: None ,
425424 } )
426425 ) ;
427- assert_eq ! ( handle. rx. recv( ) . await , Some ( Event :: Message {
426+ assert_eq ! (
427+ handle. rx. recv( ) . await ,
428+ Some ( Event :: Message {
428429 payload: vec![ 0u8 ; 1 ] ,
429430 flag: None ,
430- } ) ) ;
431+ } )
432+ ) ;
431433
432434 futures:: future:: poll_fn ( |cx| match handle. poll_next_unpin ( cx) {
433435 Poll :: Pending => Poll :: Ready ( ( ) ) ,
@@ -458,10 +460,13 @@ mod tests {
458460 substream. shutdown ( ) . await . unwrap ( ) ;
459461 } ) ;
460462
461- assert_eq ! ( handle. next( ) . await , Some ( Event :: Message {
463+ assert_eq ! (
464+ handle. next( ) . await ,
465+ Some ( Event :: Message {
462466 payload: vec![ 1u8 ; 1337 ] ,
463467 flag: None ,
464- } ) ) ;
468+ } )
469+ ) ;
465470 // After shutdown, should send FIN flag
466471 assert_eq ! (
467472 handle. next( ) . await ,
@@ -503,10 +508,14 @@ mod tests {
503508 #[ tokio:: test]
504509 async fn read_small_frame ( ) {
505510 let ( mut substream, handle) = Substream :: new ( ) ;
506- handle. tx . send ( Event :: Message {
507- payload : vec ! [ 1u8 ; 256 ] ,
508- flag : None ,
509- } ) . await . unwrap ( ) ;
511+ handle
512+ . tx
513+ . send ( Event :: Message {
514+ payload : vec ! [ 1u8 ; 256 ] ,
515+ flag : None ,
516+ } )
517+ . await
518+ . unwrap ( ) ;
510519
511520 let mut buf = vec ! [ 0u8 ; 2048 ] ;
512521
@@ -534,10 +543,14 @@ mod tests {
534543 let mut first = vec ! [ 1u8 ; 256 ] ;
535544 first. extend_from_slice ( & vec ! [ 2u8 ; 256 ] ) ;
536545
537- handle. tx . send ( Event :: Message {
538- payload : first,
539- flag : None ,
540- } ) . await . unwrap ( ) ;
546+ handle
547+ . tx
548+ . send ( Event :: Message {
549+ payload : first,
550+ flag : None ,
551+ } )
552+ . await
553+ . unwrap ( ) ;
541554
542555 let mut buf = vec ! [ 0u8 ; 256 ] ;
543556
@@ -573,14 +586,22 @@ mod tests {
573586 let mut first = vec ! [ 1u8 ; 256 ] ;
574587 first. extend_from_slice ( & vec ! [ 2u8 ; 256 ] ) ;
575588
576- handle. tx . send ( Event :: Message {
577- payload : first,
578- flag : None ,
579- } ) . await . unwrap ( ) ;
580- handle. tx . send ( Event :: Message {
581- payload : vec ! [ 4u8 ; 2048 ] ,
582- flag : None ,
583- } ) . await . unwrap ( ) ;
589+ handle
590+ . tx
591+ . send ( Event :: Message {
592+ payload : first,
593+ flag : None ,
594+ } )
595+ . await
596+ . unwrap ( ) ;
597+ handle
598+ . tx
599+ . send ( Event :: Message {
600+ payload : vec ! [ 4u8 ; 2048 ] ,
601+ flag : None ,
602+ } )
603+ . await
604+ . unwrap ( ) ;
584605
585606 let mut buf = vec ! [ 0u8 ; 256 ] ;
586607
@@ -778,10 +799,13 @@ mod tests {
778799 } ) ;
779800
780801 // Verify data was sent
781- assert_eq ! ( handle. next( ) . await , Some ( Event :: Message {
782- payload: vec![ 1u8 ; 100 ] ,
783- flag: None ,
784- } ) ) ;
802+ assert_eq ! (
803+ handle. next( ) . await ,
804+ Some ( Event :: Message {
805+ payload: vec![ 1u8 ; 100 ] ,
806+ flag: None ,
807+ } )
808+ ) ;
785809
786810 // Verify FIN was sent
787811 assert_eq ! (
@@ -880,7 +904,8 @@ mod tests {
880904 shutdown_task. await . unwrap ( ) ;
881905
882906 // Writing should still work (not closed by STOP_SENDING)
883- // Note: We already sent FIN, so write won't actually work, but the state check happens first
907+ // Note: We already sent FIN, so write won't actually work, but the state check happens
908+ // first
884909 }
885910
886911 #[ tokio:: test]
@@ -951,14 +976,20 @@ mod tests {
951976 } ) ;
952977
953978 // Wait for data and FIN to be sent
954- assert_eq ! ( handle. next( ) . await , Some ( Event :: Message {
955- payload: vec![ 1u8 ; 100 ] ,
956- flag: None ,
957- } ) ) ;
958- assert_eq ! ( handle. next( ) . await , Some ( Event :: Message {
959- payload: vec![ ] ,
960- flag: Some ( Flag :: Fin as i32 )
961- } ) ) ;
979+ assert_eq ! (
980+ handle. next( ) . await ,
981+ Some ( Event :: Message {
982+ payload: vec![ 1u8 ; 100 ] ,
983+ flag: None ,
984+ } )
985+ ) ;
986+ assert_eq ! (
987+ handle. next( ) . await ,
988+ Some ( Event :: Message {
989+ payload: vec![ ] ,
990+ flag: Some ( Flag :: Fin as i32 )
991+ } )
992+ ) ;
962993
963994 // Verify we transitioned through Closing to FinSent
964995 assert ! ( matches!( * handle. state. lock( ) , State :: FinSent ) ) ;
@@ -988,10 +1019,13 @@ mod tests {
9881019 } ) ;
9891020
9901021 // Wait for FIN to be sent
991- assert_eq ! ( handle. next( ) . await , Some ( Event :: Message {
992- payload: vec![ ] ,
993- flag: Some ( Flag :: Fin as i32 )
994- } ) ) ;
1022+ assert_eq ! (
1023+ handle. next( ) . await ,
1024+ Some ( Event :: Message {
1025+ payload: vec![ ] ,
1026+ flag: Some ( Flag :: Fin as i32 )
1027+ } )
1028+ ) ;
9951029 assert ! ( matches!( * handle. state. lock( ) , State :: FinSent ) ) ;
9961030
9971031 // Send FIN_ACK to complete first shutdown
@@ -1023,10 +1057,13 @@ mod tests {
10231057 } ) ;
10241058
10251059 // Wait for FIN to be sent
1026- assert_eq ! ( handle. next( ) . await , Some ( Event :: Message {
1027- payload: vec![ ] ,
1028- flag: Some ( Flag :: Fin as i32 )
1029- } ) ) ;
1060+ assert_eq ! (
1061+ handle. next( ) . await ,
1062+ Some ( Event :: Message {
1063+ payload: vec![ ] ,
1064+ flag: Some ( Flag :: Fin as i32 )
1065+ } )
1066+ ) ;
10301067
10311068 // Verify we're in FinSent state
10321069 assert ! ( matches!( * handle. state. lock( ) , State :: FinSent ) ) ;
@@ -1037,17 +1074,19 @@ mod tests {
10371074 let result = timeout ( Duration :: from_secs ( 4 ) , shutdown_task) . await ;
10381075
10391076 assert ! ( result. is_ok( ) , "Shutdown should complete after timeout" ) ;
1040- assert ! ( result. unwrap( ) . is_ok( ) , "Shutdown should succeed after timeout" ) ;
1077+ assert ! (
1078+ result. unwrap( ) . is_ok( ) ,
1079+ "Shutdown should succeed after timeout"
1080+ ) ;
10411081
10421082 // Should have transitioned to FinAcked after timeout
10431083 assert ! ( matches!( * handle. state. lock( ) , State :: FinAcked ) ) ;
10441084 }
10451085
10461086 #[ tokio:: test]
10471087 async fn closing_state_blocks_writes ( ) {
1088+ use std:: { pin:: Pin , task:: Poll } ;
10481089 use tokio:: io:: AsyncWriteExt ;
1049- use std:: pin:: Pin ;
1050- use std:: task:: Poll ;
10511090
10521091 let ( mut substream, handle) = Substream :: new ( ) ;
10531092
0 commit comments