ThingWorx C SDK
twDefaultSettings.h
Go to the documentation of this file.
1 /***************************************
2  * Copyright (C) 2015 ThingWorx Inc. *
3  ***************************************/
4 
10 #ifndef TW_DEFAULT_SETTINGS_H
11 #define TW_DEFAULT_SETTINGS_H
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 /********************************/
18 /* General API Settings */
19 /********************************/
20 /*
21 To minimize code footprint, by default logging is enabled for debug builds
22 and disabled for release builds. Use this to over-ride that setting.
23 */
24 /*#define DBG_LOGGING*/
25 
29 #define TW_URI "/Thingworx/WS"
30 
36 #define MAX_MESSAGE_SIZE 16384
37 
43 #define MESSAGE_CHUNK_SIZE 8192
44 
49 #define DEFAULT_MESSAGE_TIMEOUT 10000
50 
56 #define PING_RATE 55000
57 
62 #define DEFAULT_PONG_TIMEOUT 10000
63 
68 #define STALE_MSG_CLEANUP_RATE (DEFAULT_MESSAGE_TIMEOUT * 5)
69 
74 #define CONNECT_TIMEOUT 10000
75 
80 #define CONNECT_RETRIES 3
81 
87 #define DUTY_CYCLE 20
88 
94 #define DUTY_CYCLE_PERIOD 0
95 
101 #define STREAM_BLOCK_SIZE 256
102 
107 #define TW_MAX_TASKS 5
108 
112 #define FILE_XFER_BLOCK_SIZE 8000
113 
117 #define FILE_XFER_MAX_FILE_SIZE 8000000000
118 
122 #define FILE_XFER_MD5_BLOCK_SIZE 6400
123 
127 #define FILE_XFER_TIMEOUT 30000
128 
132 #define FILE_XFER_STAGING_DIR "/opt/thingworx/tw_staging"
133 
137 #define OFFLINE_MSG_QUEUE_SIZE 16384
138 
142 #define OFFLINE_MSG_STORE_DIR "/opt/thingworx"
143 
147 #define MAX_CONNECT_DELAY 10000
148 
152 #define CONNECT_RETRY_INTERVAL 5000
153 
157 #define MAX_MESSAGES 500
158 
162 #define DEFAULT_SOCKET_READ_TIMEOUT 100
163 
167 typedef struct twConfig {
168  const char tasker_enabled;
169  const char file_xfer_enabled;
170  const char tunneling_enabled;
171  const char offline_msg_store;
172  const char * tw_uri;
173  uint32_t max_message_size;
176  uint32_t ping_rate;
177  uint32_t pong_timeout;
179  uint32_t connect_timeout;
180  int16_t connect_retries;
181  uint8_t duty_cycle;
182  uint32_t duty_cycle_period;
183  uint16_t stream_block_size;
187  uint32_t file_xfer_timeout;
190  uint32_t max_connect_delay;
192  uint32_t max_messages;
194  const char * offline_msg_store_dir;
195 } twConfig;
196 
197 extern twConfig twcfg;
198 
199 #ifdef __cplusplus
200 }
201 #endif
202 
203 #endif
uint16_t file_xfer_md5_block_size
Definition: twDefaultSettings.h:186
int16_t connect_retries
Definition: twDefaultSettings.h:180
uint32_t max_connect_delay
Definition: twDefaultSettings.h:190
uint32_t file_xfer_timeout
Definition: twDefaultSettings.h:187
uint32_t ping_rate
Definition: twDefaultSettings.h:176
const char file_xfer_enabled
Definition: twDefaultSettings.h:169
const char offline_msg_store
Definition: twDefaultSettings.h:171
const char * tw_uri
Definition: twDefaultSettings.h:172
struct twConfig twConfig
Structure to allow overriding of defaults at runtime.
uint32_t socket_read_timeout
Definition: twDefaultSettings.h:193
Structure to allow overriding of defaults at runtime.
Definition: twDefaultSettings.h:167
uint32_t stale_msg_cleanup_rate
Definition: twDefaultSettings.h:178
uint32_t file_xfer_block_size
Definition: twDefaultSettings.h:184
const char tasker_enabled
Definition: twDefaultSettings.h:168
uint32_t duty_cycle_period
Definition: twDefaultSettings.h:182
uint32_t offline_msg_queue_size
Definition: twDefaultSettings.h:189
uint8_t duty_cycle
Definition: twDefaultSettings.h:181
uint32_t connect_retry_interval
Definition: twDefaultSettings.h:191
uint32_t max_message_size
Definition: twDefaultSettings.h:173
uint32_t default_message_timeout
Definition: twDefaultSettings.h:175
uint16_t stream_block_size
Definition: twDefaultSettings.h:183
char * file_xfer_staging_dir
Definition: twDefaultSettings.h:188
uint16_t message_chunk_size
Definition: twDefaultSettings.h:174
uint32_t connect_timeout
Definition: twDefaultSettings.h:179
uint32_t pong_timeout
Definition: twDefaultSettings.h:177
const char * offline_msg_store_dir
Definition: twDefaultSettings.h:194
const char tunneling_enabled
Definition: twDefaultSettings.h:170
uint64_t file_xfer_max_file_size
Definition: twDefaultSettings.h:185
uint32_t max_messages
Definition: twDefaultSettings.h:192