source: azure_iot_hub_f767zi/trunk/azure_iot_sdk/iothub_client/inc/iothub_client_options.h@ 464

Last change on this file since 464 was 464, checked in by coas-nagasima, 3 years ago

WolfSSLとAzure IoT SDKを更新

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-chdr;charset=UTF-8
File size: 6.7 KB
Line 
1// Copyright (c) Microsoft. All rights reserved.
2// Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
4#ifndef IOTHUB_CLIENT_OPTIONS_H
5#define IOTHUB_CLIENT_OPTIONS_H
6
7#include "azure_c_shared_utility/const_defines.h"
8
9#ifdef __cplusplus
10extern "C"
11{
12#endif
13
14 typedef struct IOTHUB_PROXY_OPTIONS_TAG
15 {
16 const char* host_address;
17 const char* username;
18 const char* password;
19 } IOTHUB_PROXY_OPTIONS;
20
21 static STATIC_VAR_UNUSED const char* OPTION_RETRY_INTERVAL_SEC = "retry_interval_sec";
22 static STATIC_VAR_UNUSED const char* OPTION_RETRY_MAX_DELAY_SECS = "retry_max_delay_secs";
23
24 static STATIC_VAR_UNUSED const char* OPTION_LOG_TRACE = "logtrace";
25 static STATIC_VAR_UNUSED const char* OPTION_X509_CERT = "x509certificate";
26 static STATIC_VAR_UNUSED const char* OPTION_X509_PRIVATE_KEY = "x509privatekey";
27 static STATIC_VAR_UNUSED const char* OPTION_KEEP_ALIVE = "keepalive";
28 static STATIC_VAR_UNUSED const char* OPTION_CONNECTION_TIMEOUT = "connect_timeout";
29
30 /* None of the OPTION_PROXY_* options below are implemented. Use OPTION_HTTP_PROXY
31 from shared_util_options.h in https://github.com/Azure/azure-c-shared-utility/ repo instead */
32 static STATIC_VAR_UNUSED const char* OPTION_PROXY_HOST = "proxy_address";
33 static STATIC_VAR_UNUSED const char* OPTION_PROXY_USERNAME = "proxy_username";
34 static STATIC_VAR_UNUSED const char* OPTION_PROXY_PASSWORD = "proxy_password";
35
36 static STATIC_VAR_UNUSED const char* OPTION_SAS_TOKEN_LIFETIME = "sas_token_lifetime";
37 static STATIC_VAR_UNUSED const char* OPTION_SAS_TOKEN_REFRESH_TIME = "sas_token_refresh_time";
38 static STATIC_VAR_UNUSED const char* OPTION_CBS_REQUEST_TIMEOUT = "cbs_request_timeout";
39
40 static STATIC_VAR_UNUSED const char* OPTION_MIN_POLLING_TIME = "MinimumPollingTime";
41 static STATIC_VAR_UNUSED const char* OPTION_BATCHING = "Batching";
42
43 /* DEPRECATED:: OPTION_MESSAGE_TIMEOUT is DEPRECATED! Use OPTION_SERVICE_SIDE_KEEP_ALIVE_FREQ_SECS for AMQP; MQTT has no option available. OPTION_MESSAGE_TIMEOUT legacy variable will be kept for back-compat. */
44 static STATIC_VAR_UNUSED const char* OPTION_MESSAGE_TIMEOUT = "messageTimeout";
45 static STATIC_VAR_UNUSED const char* OPTION_BLOB_UPLOAD_TIMEOUT_SECS = "blob_upload_timeout_secs";
46 static STATIC_VAR_UNUSED const char* OPTION_PRODUCT_INFO = "product_info";
47
48 /*
49 * @brief Specifies the Digital Twin Model Id of the connection. Only valid for use with MQTT Transport
50 */
51 static STATIC_VAR_UNUSED const char* OPTION_MODEL_ID = "model_id";
52
53 /*
54 * @brief Turns on automatic URL encoding of message properties + system properties. Only valid for use with MQTT Transport
55 */
56 static STATIC_VAR_UNUSED const char* OPTION_AUTO_URL_ENCODE_DECODE = "auto_url_encode_decode";
57
58 /*
59 * @brief Informs the service of what is the maximum period the client will wait for a keep-alive message from the service.
60 * The service must send keep-alives before this timeout is reached, otherwise the client will trigger its re-connection logic.
61 * Setting this option to a low value results in more aggressive/responsive re-connection by the client.
62 * The default value for this option is 240 seconds, and the minimum allowed is usually 5 seconds.
63 * To virtually disable the keep-alives from the service (and consequently the keep-alive timeout control on the client-side), set this option to a high value (e.g., UINT_MAX).
64 */
65 static STATIC_VAR_UNUSED const char* OPTION_SERVICE_SIDE_KEEP_ALIVE_FREQ_SECS = "svc2cl_keep_alive_timeout_secs";
66
67 /* DEPRECATED:: OPTION_C2D_KEEP_ALIVE_FREQ_SECS is DEPRECATED! Use OPTION_SERVICE_SIDE_KEEP_ALIVE_FREQ_SECS, but OPTION_C2D_KEEP_ALIVE_FREQ_SECS legacy variable kept for back-compat. */
68 static STATIC_VAR_UNUSED const char* OPTION_C2D_KEEP_ALIVE_FREQ_SECS = "c2d_keep_alive_freq_secs";
69
70 /*
71 * @brief Ratio to be used for client side pings in AMQP protocol.
72 * The client must use this ratio to send keep-alives before service side remote idle timeout is reached, otherwise the service will disconnect the client.
73 * The default value for this option is 1/2 of the remote idle value sent by the service.
74 * For AMQP remote idle set to 4 minutes, default client ping will be 2 minutes. For AMQP remote idle set to 25 minutes configured via per Hub basis, the default ping will be 12.5 minutes.
75 */
76 static STATIC_VAR_UNUSED const char* OPTION_REMOTE_IDLE_TIMEOUT_RATIO = "cl2svc_keep_alive_send_ratio";
77
78 /*
79 * @brief This option should be used instead of OPTION_MESSAGE_TIMEOUT if using AMQP protocol.
80 * It defines the maximum ammount of time, in seconds, the client will wait for a telemetry message to complete sending before returning it with a IOTHUB_CLIENT_CONFIRMATION_MESSAGE_TIMEOUT error.
81 * The default value 5 (five) minutes.
82 * This option is applicable only to AMQP protocol.
83 */
84 static STATIC_VAR_UNUSED const char* OPTION_EVENT_SEND_TIMEOUT_SECS = "event_send_timeout_secs";
85
86 //diagnostic sampling percentage value, [0-100]
87 static STATIC_VAR_UNUSED const char* OPTION_DIAGNOSTIC_SAMPLING_PERCENTAGE = "diag_sampling_percentage";
88
89 static STATIC_VAR_UNUSED const char* OPTION_DO_WORK_FREQUENCY_IN_MS = "do_work_freq_ms";
90
91// Minimum percentage (in the 0 to 1 range) of multiplexed registered devices that must be failing for a transport-wide reconnection to be triggered.
92// A value of zero results in a single registered device to be able to cause a general transport reconnection
93// (thus causing all other multiplexed registered devices to be also reconnected, meaning an agressive reconnection strategy).
94// Setting this parameter to one indicates that 100% of the multiplexed registered devices must be failing in parallel for a
95// transport-wide reconnection to be triggered (resulting in a very lenient reconnection strategy).
96#define DEVICE_MULTIPLEXING_FAULTY_DEVICE_RATIO_RECONNECTION_THRESHOLD 0
97
98// Minimum number of consecutive failures an individual registered device must have to be considered a faulty device.
99// This is used along with DEVICE_MULTIPLEXING_FAULTY_DEVICE_RATIO_RECONNECTION_THRESHOLD to trigger transport-wide reconnections.
100// The device may fail to authenticate, timeout establishing the connection, get disconnected by the service for some reason or fail sending messages.
101// In all these cases the failures are cummulatively counted; if the count is equal to or greater than DEVICE_FAILURE_COUNT_RECONNECTION_THRESHOLD
102// the device is considered to be in a faulty state.
103#define DEVICE_FAILURE_COUNT_RECONNECTION_THRESHOLD 5
104
105#ifdef __cplusplus
106}
107#endif
108
109#endif /* IOTHUB_CLIENT_OPTIONS_H */
Note: See TracBrowser for help on using the repository browser.