ThingWorx C SDK
twDefaultSettings.h
Go to the documentation of this file.
1 /***************************************
2  * Copyright 2017, PTC, 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 1048576
37 
43 #define MESSAGE_CHUNK_SIZE 8192
44 
50 #define MAX_WS_TUNNEL_MESSAGE_SIZE 32768
51 
56 #define DEFAULT_MESSAGE_TIMEOUT 10000
57 
63 #define PING_RATE 55000
64 
69 #define DEFAULT_PONG_TIMEOUT 10000
70 
75 #define STALE_MSG_CLEANUP_RATE (DEFAULT_MESSAGE_TIMEOUT * 5)
76 
81 #define CONNECT_TIMEOUT 10000
82 
87 #define CONNECT_RETRIES 3
88 
94 #define DUTY_CYCLE 20
95 
101 #define DUTY_CYCLE_PERIOD 0
102 
108 #define STREAM_BLOCK_SIZE 256
109 
114 #define TW_MAX_TASKS 5
115 
119 #define FILE_XFER_BLOCK_SIZE 128000
120 
124 #define FILE_XFER_MAX_FILE_SIZE 8000000000
125 
129 #define FILE_XFER_MD5_BLOCK_SIZE 6400
130 
134 #define FILE_XFER_TIMEOUT 30000
135 
139 #define FILE_XFER_STAGING_DIR "/opt/thingworx/tw_staging"
140 
144 #define OFFLINE_MSG_QUEUE_SIZE 16384
145 
149 #define OFFLINE_MSG_STORE_DIR "/opt/thingworx"
150 
151 
155 #define MAX_CONNECT_DELAY 10000
156 
160 #define CONNECT_RETRY_INTERVAL 5000
161 
165 #define MAX_MESSAGES 500
166 
170 #define DEFAULT_SOCKET_READ_TIMEOUT 100
171 
175 #define DEFAULT_SSL_READ_TIMEOUT 500
176 
180 #define FRAME_READ_TIMEOUT 10000
181 
185 #define MAX_STRING_PROP_LENGTH (1<<20)
186 
190 typedef struct twConfig {
191  const char tasker_enabled;
192  const char file_xfer_enabled;
193  const char tunneling_enabled;
194  const char offline_msg_store;
196  const char * tw_uri;
197  uint32_t max_message_size;
201  uint32_t ping_rate;
202  uint32_t pong_timeout;
204  uint32_t connect_timeout;
205  int16_t connect_retries;
206  uint8_t duty_cycle;
207  uint32_t duty_cycle_period;
208  uint16_t stream_block_size;
212  uint32_t file_xfer_timeout;
216  uint32_t max_connect_delay;
218  uint32_t max_messages;
220  uint32_t ssl_read_timeout;
221  const char * offline_msg_store_dir;
222  const char * subscribed_props_dir;
225  const char * cipher_set;
226  struct init_cb *initCallback;
228 } twConfig;
229 
230 extern twConfig twcfg;
231 
232 #ifdef __cplusplus
233 }
234 #endif
235 
236 #endif
uint16_t file_xfer_md5_block_size
Definition: twDefaultSettings.h:211
int16_t connect_retries
Definition: twDefaultSettings.h:205
uint32_t max_connect_delay
Definition: twDefaultSettings.h:216
size_t max_string_prop_length
Definition: twDefaultSettings.h:227
uint32_t file_xfer_timeout
Definition: twDefaultSettings.h:212
uint32_t ping_rate
Definition: twDefaultSettings.h:201
const char file_xfer_enabled
Definition: twDefaultSettings.h:192
const char offline_msg_store
Definition: twDefaultSettings.h:194
const char * tw_uri
Definition: twDefaultSettings.h:196
struct twConfig twConfig
Structure to allow overriding of defaults at runtime.
uint32_t max_ws_tunnel_message_size
Definition: twDefaultSettings.h:199
uint32_t socket_read_timeout
Definition: twDefaultSettings.h:219
Structure to allow overriding of defaults at runtime.
Definition: twDefaultSettings.h:190
uint32_t stale_msg_cleanup_rate
Definition: twDefaultSettings.h:203
uint32_t file_xfer_block_size
Definition: twDefaultSettings.h:209
const char tasker_enabled
Definition: twDefaultSettings.h:191
uint32_t duty_cycle_period
Definition: twDefaultSettings.h:207
char initialize_encryption_library
Definition: twDefaultSettings.h:224
uint32_t offline_msg_queue_size
Definition: twDefaultSettings.h:214
uint8_t duty_cycle
Definition: twDefaultSettings.h:206
uint32_t connect_retry_interval
Definition: twDefaultSettings.h:217
uint32_t max_message_size
Definition: twDefaultSettings.h:197
uint32_t default_message_timeout
Definition: twDefaultSettings.h:200
Definition: twApi.h:188
uint16_t stream_block_size
Definition: twDefaultSettings.h:208
char * file_xfer_staging_dir
Definition: twDefaultSettings.h:213
const char * cipher_set
Definition: twDefaultSettings.h:225
uint16_t message_chunk_size
Definition: twDefaultSettings.h:198
uint32_t connect_timeout
Definition: twDefaultSettings.h:204
uint32_t pong_timeout
Definition: twDefaultSettings.h:202
const char * offline_msg_store_dir
Definition: twDefaultSettings.h:221
const char tunneling_enabled
Definition: twDefaultSettings.h:193
uint32_t frame_read_timeout
Definition: twDefaultSettings.h:223
const char * subscribed_props_dir
Definition: twDefaultSettings.h:222
char subscribed_props_enabled
Definition: twDefaultSettings.h:195
uint32_t ssl_read_timeout
Definition: twDefaultSettings.h:220
uint32_t subscribed_props_queue_size
Definition: twDefaultSettings.h:215
uint64_t file_xfer_max_file_size
Definition: twDefaultSettings.h:210
uint32_t max_messages
Definition: twDefaultSettings.h:218