1010#![ cfg( feature = "dtls-psk" ) ]
1111use std:: time:: Duration ;
1212
13- use libcoap_rs:: crypto:: psk:: PskKey ;
14- use libcoap_rs:: crypto:: psk:: { ClientPskContextBuilder , ServerPskContextBuilder } ;
15- use libcoap_rs:: session:: CoapClientSession ;
1613use libcoap_rs:: {
14+ crypto:: psk:: { ClientPskContextBuilder , PskKey , ServerPskContextBuilder } ,
1715 message:: CoapMessageCommon ,
1816 protocol:: { CoapMessageCode , CoapResponseCode } ,
19- session:: CoapSessionCommon ,
17+ session:: { CoapClientSession , CoapSessionCommon } ,
2018 CoapContext ,
2119} ;
2220
@@ -28,7 +26,7 @@ pub fn dtls_psk_client_server_request() {
2826 let dummy_key = PskKey :: new ( Some ( "dtls_test_id" ) , "dtls_test_key___" ) ;
2927 let client_psk_context = ClientPskContextBuilder :: new ( dummy_key. clone ( ) ) . build ( ) ;
3028
31- let server_handle = common:: spawn_test_server ( move |mut context| {
29+ let server_handle = common:: spawn_test_server ( move |mut context, _req_complete | {
3230 let server_psk_context = ServerPskContextBuilder :: new ( dummy_key. clone ( ) ) . build ( ) ;
3331 context. set_psk_context ( server_psk_context) . unwrap ( ) ;
3432 context. add_endpoint_dtls ( server_address) . unwrap ( ) ;
@@ -45,7 +43,9 @@ pub fn dtls_psk_client_server_request() {
4543 for response in session. poll_handle ( & req_handle) {
4644 assert_eq ! ( response. code( ) , CoapMessageCode :: Response ( CoapResponseCode :: Content ) ) ;
4745 assert_eq ! ( response. data( ) . unwrap( ) . as_ref( ) , "Hello World!" . as_bytes( ) ) ;
48- server_handle. join ( ) . expect ( "Test server crashed with failure." ) ;
46+ if let Err ( e) = server_handle. join ( ) {
47+ std:: panic:: resume_unwind ( e) ;
48+ }
4949 return ;
5050 }
5151 }
0 commit comments