Skip to content

Commit 97096a5

Browse files
committed
DTLSSocketWrapper: Convert to Chrono
1 parent d1ae0d5 commit 97096a5

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

features/netsocket/DTLSSocketWrapper.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ DTLSSocketWrapper::DTLSSocketWrapper(Socket *transport, const char *hostname, co
3939
void 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

5759
int 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;

features/netsocket/DTLSSocketWrapper.h

Lines changed: 4 additions & 3 deletions
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,9 +44,9 @@ 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-
int _timer_event_id = 0;
48-
bool _timer_expired = false;
47+
rtos::Kernel::Clock::time_point _int_time;
48+
int _timer_event_id;
49+
bool _timer_expired : 1;
4950
};
5051

5152
#endif

0 commit comments

Comments
 (0)