Skip to content

Commit f4015c7

Browse files
authored
Merge pull request #12429 from kjbracey-arm/chrono_dtls
DTLSSocketWrapper: Convert to Chrono
2 parents 5c71ad8 + 2f86754 commit f4015c7

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

features/netsocket/DTLSSocketWrapper.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,11 @@ void DTLSSocketWrapper::timing_set_delay(void *ctx, uint32_t int_ms, uint32_t fi
5050
return;
5151
}
5252

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);
53+
auto int_duration = std::chrono::duration<uint32_t, std::milli>(int_ms);
54+
auto fin_duration = std::chrono::duration<uint32_t, std::milli>(fin_ms);
55+
56+
context->_int_time = rtos::Kernel::Clock::now() + int_duration;
57+
context->_timer_event_id = mbed::mbed_event_queue()->call_in(fin_duration, context, &DTLSSocketWrapper::timer_event);
5558
}
5659

5760
int DTLSSocketWrapper::timing_get_delay(void *ctx)
@@ -64,7 +67,7 @@ int DTLSSocketWrapper::timing_get_delay(void *ctx)
6467
return -1;
6568
} else if (context->_timer_expired) {
6669
return 2;
67-
} else if (context->_int_ms_tick < rtos::Kernel::get_ms_count()) {
70+
} else if (context->_int_time < rtos::Kernel::Clock::now()) {
6871
return 1;
6972
} else {
7073
return 0;

features/netsocket/DTLSSocketWrapper.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#define DTLSSOCKETWRAPPER_H
2424

2525
#include "TLSSocketWrapper.h"
26+
#include "rtos/Kernel.h"
2627

2728
// This class requires Mbed TLS SSL/TLS client code
2829
#if defined(MBEDTLS_SSL_CLI_C) || defined(DOXYGEN_ONLY)
@@ -43,7 +44,7 @@ class DTLSSocketWrapper : public TLSSocketWrapper {
4344
static void timing_set_delay(void *ctx, uint32_t int_ms, uint32_t fin_ms);
4445
static int timing_get_delay(void *ctx);
4546
void timer_event();
46-
uint64_t _int_ms_tick = 0;
47+
rtos::Kernel::Clock::time_point _int_time;
4748
int _timer_event_id = 0;
4849
bool _timer_expired = false;
4950
};

0 commit comments

Comments
 (0)