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() {
92
92
let a = Arc :: new ( a) ;
93
93
let aservice = agent_ttrpc:: create_agent_service ( a) ;
94
94
95
- let server = Server :: new ( )
95
+ let mut server = Server :: new ( )
96
96
. bind ( "unix:///tmp/1" )
97
97
. unwrap ( )
98
98
. register_service ( hservice)
99
99
. register_service ( aservice) ;
100
100
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
+
102
105
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 ;
105
116
}
106
- _ = server. start( ) => {
107
- println!( "server exit" )
117
+ _ = interrupt. recv( ) => {
118
+ // test graceful shutdown
119
+ println!( "graceful shutdown" ) ;
120
+ server. shutdown( ) . await . unwrap( ) ;
108
121
}
109
122
} ;
110
123
}
You can’t perform that action at this time.
0 commit comments