Xin Zhang / azure-iot-c-sdk-f767zi

Dependents:   samplemqtt

Committer:
XinZhangMS
Date:
Thu Aug 23 06:52:14 2018 +0000
Revision:
0:f7f1f0d76dd6
azure-c-sdk for mbed os supporting NUCLEO_F767ZI

Who changed what in which revision?

UserRevisionLine numberNew contents of line
XinZhangMS 0:f7f1f0d76dd6 1 // Copyright (c) Microsoft. All rights reserved.
XinZhangMS 0:f7f1f0d76dd6 2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
XinZhangMS 0:f7f1f0d76dd6 3
XinZhangMS 0:f7f1f0d76dd6 4 /** @file iothub_client_diagnostic.h
XinZhangMS 0:f7f1f0d76dd6 5 * @brief The @c diagnostic is a component that helps to add predefined diagnostic
XinZhangMS 0:f7f1f0d76dd6 6 properties to message for end to end diagnostic purpose
XinZhangMS 0:f7f1f0d76dd6 7 */
XinZhangMS 0:f7f1f0d76dd6 8
XinZhangMS 0:f7f1f0d76dd6 9 #ifndef IOTHUB_CLIENT_DIAGNOSTIC_H
XinZhangMS 0:f7f1f0d76dd6 10 #define IOTHUB_CLIENT_DIAGNOSTIC_H
XinZhangMS 0:f7f1f0d76dd6 11
XinZhangMS 0:f7f1f0d76dd6 12 #include "azure_c_shared_utility/umock_c_prod.h"
XinZhangMS 0:f7f1f0d76dd6 13
XinZhangMS 0:f7f1f0d76dd6 14 #include "iothub_message.h"
XinZhangMS 0:f7f1f0d76dd6 15 #include <stdint.h>
XinZhangMS 0:f7f1f0d76dd6 16
XinZhangMS 0:f7f1f0d76dd6 17 #ifdef __cplusplus
XinZhangMS 0:f7f1f0d76dd6 18 #include <cstddef>
XinZhangMS 0:f7f1f0d76dd6 19 extern "C" {
XinZhangMS 0:f7f1f0d76dd6 20 #else
XinZhangMS 0:f7f1f0d76dd6 21 #include <stddef.h>
XinZhangMS 0:f7f1f0d76dd6 22 #endif
XinZhangMS 0:f7f1f0d76dd6 23
XinZhangMS 0:f7f1f0d76dd6 24 /** @brief diagnostic related setting */
XinZhangMS 0:f7f1f0d76dd6 25 typedef struct IOTHUB_DIAGNOSTIC_SETTING_DATA_TAG
XinZhangMS 0:f7f1f0d76dd6 26 {
XinZhangMS 0:f7f1f0d76dd6 27 uint32_t diagSamplingPercentage;
XinZhangMS 0:f7f1f0d76dd6 28 uint32_t currentMessageNumber;
XinZhangMS 0:f7f1f0d76dd6 29 } IOTHUB_DIAGNOSTIC_SETTING_DATA;
XinZhangMS 0:f7f1f0d76dd6 30
XinZhangMS 0:f7f1f0d76dd6 31 /**
XinZhangMS 0:f7f1f0d76dd6 32 * @brief Adds diagnostic information to message if:
XinZhangMS 0:f7f1f0d76dd6 33 * a. diagSetting->diagSamplingPercentage > 0 and
XinZhangMS 0:f7f1f0d76dd6 34 * b. the number of current message matches sample rule specified by diagSetting->diagSamplingPercentage
XinZhangMS 0:f7f1f0d76dd6 35 *
XinZhangMS 0:f7f1f0d76dd6 36 * @param diagSetting Pointer to an @c IOTHUB_DIAGNOSTIC_SETTING_DATA structure
XinZhangMS 0:f7f1f0d76dd6 37 *
XinZhangMS 0:f7f1f0d76dd6 38 * @param messageHandle message handle
XinZhangMS 0:f7f1f0d76dd6 39 *
XinZhangMS 0:f7f1f0d76dd6 40 * @return 0 upon success
XinZhangMS 0:f7f1f0d76dd6 41 */
XinZhangMS 0:f7f1f0d76dd6 42 MOCKABLE_FUNCTION(, int, IoTHubClient_Diagnostic_AddIfNecessary, IOTHUB_DIAGNOSTIC_SETTING_DATA *, diagSetting, IOTHUB_MESSAGE_HANDLE, messageHandle);
XinZhangMS 0:f7f1f0d76dd6 43
XinZhangMS 0:f7f1f0d76dd6 44 #ifdef __cplusplus
XinZhangMS 0:f7f1f0d76dd6 45 }
XinZhangMS 0:f7f1f0d76dd6 46 #endif
XinZhangMS 0:f7f1f0d76dd6 47
XinZhangMS 0:f7f1f0d76dd6 48 #endif /* IOTHUB_CLIENT_DIAGNOSTIC_H */