File tree Expand file tree Collapse file tree 3 files changed +196
-60
lines changed Expand file tree Collapse file tree 3 files changed +196
-60
lines changed Original file line number Diff line number Diff line change @@ -92,19 +92,32 @@ async fn main() {
9292 let a = Arc :: new ( a) ;
9393 let aservice = agent_ttrpc:: create_agent_service ( a) ;
9494
95- let server = Server :: new ( )
95+ let mut server = Server :: new ( )
9696 . bind ( "unix:///tmp/1" )
9797 . unwrap ( )
9898 . register_service ( hservice)
9999 . register_service ( aservice) ;
100100
101- let mut stream = signal ( SignalKind :: hangup ( ) ) . unwrap ( ) ;
101+ let mut hangup = signal ( SignalKind :: hangup ( ) ) . unwrap ( ) ;
102+ let mut interrupt = signal ( SignalKind :: interrupt ( ) ) . unwrap ( ) ;
103+ server. start ( ) . await . unwrap ( ) ;
104+
102105 tokio:: select! {
103- _ = stream. recv( ) => {
104- println!( "signal received" )
106+ _ = hangup. recv( ) => {
107+ // test stop_listen -> start
108+ println!( "stop listen" ) ;
109+ server. stop_listen( ) . await ;
110+ println!( "start listen" ) ;
111+ server. start( ) . await . unwrap( ) ;
112+
113+ // hold some time for the new test connection.
114+ let timeout = tokio:: time:: delay_for( std:: time:: Duration :: from_secs( 100 ) ) ;
115+ timeout. await ;
105116 }
106- _ = server. start( ) => {
107- println!( "server exit" )
117+ _ = interrupt. recv( ) => {
118+ // test graceful shutdown
119+ println!( "graceful shutdown" ) ;
120+ server. shutdown( ) . await . unwrap( ) ;
108121 }
109122 } ;
110123}
You can’t perform that action at this time.
0 commit comments