Demo using MBED TLS

Dependencies:   EthernetInterface NTPClient iothub_amqp_transport iothub_client mbed-rtos mbed

Fork of iothub_client_sample_amqp by Azure IoT

Committer:
markrad
Date:
Thu Jan 05 00:20:03 2017 +0000
Revision:
58:f50b97b08851
Sample using MBED TLS

Who changed what in which revision?

UserRevisionLine numberNew contents of line
markrad 58:f50b97b08851 1 // Copyright (c) Microsoft. All rights reserved.
markrad 58:f50b97b08851 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
markrad 58:f50b97b08851 3
markrad 58:f50b97b08851 4 #include <cstdlib>
markrad 58:f50b97b08851 5
markrad 58:f50b97b08851 6 #ifdef _CRTDBG_MAP_ALLOC
markrad 58:f50b97b08851 7 #include <crtdbg.h>
markrad 58:f50b97b08851 8 #endif
markrad 58:f50b97b08851 9
markrad 58:f50b97b08851 10 #include <cstdio>
markrad 58:f50b97b08851 11 #include <cctype>
markrad 58:f50b97b08851 12 #include "mbed.h"
markrad 58:f50b97b08851 13 #include "azure_c_shared_utility/tickcounter.h"
markrad 58:f50b97b08851 14
markrad 58:f50b97b08851 15 class TICK_COUNTER_INSTANCE_TAG
markrad 58:f50b97b08851 16 {
markrad 58:f50b97b08851 17 public:
markrad 58:f50b97b08851 18 clock_t last_clock_value;
markrad 58:f50b97b08851 19 tickcounter_ms_t current_ms;
markrad 58:f50b97b08851 20 };
markrad 58:f50b97b08851 21
markrad 58:f50b97b08851 22 TICK_COUNTER_HANDLE tickcounter_create(void)
markrad 58:f50b97b08851 23 {
markrad 58:f50b97b08851 24 TICK_COUNTER_INSTANCE_TAG* result;
markrad 58:f50b97b08851 25 result = new TICK_COUNTER_INSTANCE_TAG();
markrad 58:f50b97b08851 26 result->last_clock_value = clock();
markrad 58:f50b97b08851 27 result->current_ms = result->last_clock_value * 1000 / CLOCKS_PER_SEC;
markrad 58:f50b97b08851 28 return result;
markrad 58:f50b97b08851 29 }
markrad 58:f50b97b08851 30
markrad 58:f50b97b08851 31 void tickcounter_destroy(TICK_COUNTER_HANDLE tick_counter)
markrad 58:f50b97b08851 32 {
markrad 58:f50b97b08851 33 if (tick_counter != NULL)
markrad 58:f50b97b08851 34 {
markrad 58:f50b97b08851 35 delete tick_counter;
markrad 58:f50b97b08851 36 }
markrad 58:f50b97b08851 37 }
markrad 58:f50b97b08851 38
markrad 58:f50b97b08851 39 int tickcounter_get_current_ms(TICK_COUNTER_HANDLE tick_counter, tickcounter_ms_t * current_ms)
markrad 58:f50b97b08851 40 {
markrad 58:f50b97b08851 41 int result;
markrad 58:f50b97b08851 42 if (tick_counter == NULL || current_ms == NULL)
markrad 58:f50b97b08851 43 {
markrad 58:f50b97b08851 44 result = __LINE__;
markrad 58:f50b97b08851 45 }
markrad 58:f50b97b08851 46 else
markrad 58:f50b97b08851 47 {
markrad 58:f50b97b08851 48 TICK_COUNTER_INSTANCE_TAG* tick_counter_instance = (TICK_COUNTER_INSTANCE_TAG*)tick_counter;
markrad 58:f50b97b08851 49
markrad 58:f50b97b08851 50 clock_t clock_value = clock();
markrad 58:f50b97b08851 51
markrad 58:f50b97b08851 52 tick_counter_instance->current_ms += (clock_value - tick_counter_instance->last_clock_value) * 1000 / CLOCKS_PER_SEC;
markrad 58:f50b97b08851 53 tick_counter_instance->last_clock_value = clock_value;
markrad 58:f50b97b08851 54 *current_ms = tick_counter_instance->current_ms;
markrad 58:f50b97b08851 55
markrad 58:f50b97b08851 56 result = 0;
markrad 58:f50b97b08851 57 }
markrad 58:f50b97b08851 58 return result;
markrad 58:f50b97b08851 59 }