@@ -39,6 +39,8 @@ DTLSSocketWrapper::DTLSSocketWrapper(Socket *transport, const char *hostname, co
3939void DTLSSocketWrapper::timing_set_delay (void *ctx, uint32_t int_ms, uint32_t fin_ms)
4040{
4141 DTLSSocketWrapper *context = static_cast <DTLSSocketWrapper *>(ctx);
42+ auto int_duration = std::chrono::duration<uint32_t , std::milli>(int_ms);
43+ auto fin_duration = std::chrono::duration<uint32_t , std::milli>(fin_ms);
4244
4345 if (context->_timer_event_id ) {
4446 mbed::mbed_event_queue ()->cancel (context->_timer_event_id );
@@ -50,8 +52,8 @@ void DTLSSocketWrapper::timing_set_delay(void *ctx, uint32_t int_ms, uint32_t fi
5052 return ;
5153 }
5254
53- context->_int_ms_tick = rtos::Kernel::get_ms_count () + int_ms ;
54- context->_timer_event_id = mbed::mbed_event_queue ()->call_in (fin_ms , context, &DTLSSocketWrapper::timer_event);
55+ context->_int_time = rtos::Kernel::Clock::now () + int_duration ;
56+ context->_timer_event_id = mbed::mbed_event_queue ()->call_in (fin_duration , context, &DTLSSocketWrapper::timer_event);
5557}
5658
5759int DTLSSocketWrapper::timing_get_delay (void *ctx)
@@ -64,7 +66,7 @@ int DTLSSocketWrapper::timing_get_delay(void *ctx)
6466 return -1 ;
6567 } else if (context->_timer_expired ) {
6668 return 2 ;
67- } else if (context->_int_ms_tick < rtos::Kernel::get_ms_count ()) {
69+ } else if (context->_int_time < rtos::Kernel::Clock::now ()) {
6870 return 1 ;
6971 } else {
7072 return 0 ;
0 commit comments