Timeout settings

The function blocks of TC3 IoT Functions include several timeout settings that may help the user to handle errors regarding the retry operations. The following section explains the different timeout settings more detailed.

RequestTimeout

The RequestTimeout can be either set globally on an instance of FB_IotFunctions_Connector or individually on an instance of FB_IotFunctions_Message. Individual settings always override global settings. The RequestTimeout closely works together with the MessageRetryInterval setting.

The RequestTimeout specifies when a message operation (read/write) will time out. For example, if RequestTimeout is set to 10000, a read operation will time out after 10 seconds if no data has been received. If data is received within 10 seconds, the operation will finish immediately.

MessageRetryInterval

The MessageRetryInterval can be either set globally on an instance of FB_IotFunctions_Connector or individually on an instance of FB_IotFunctions_Message. Individual settings always override global settings. The MessageRetryInterval closely works together with the RequestTimeout setting.

The MessageRetryInterval specifies the time interval in [ms] when a message operation will be retried. The upper limit of the interval is always the RequestTimeout. For example, if RequestTimeout is set to 10000 and MessageRetryInterval to 1000, a read operation will be retried ten times before the RequestTimeout is triggered and the read operation times out.

CumulativeTimeout

The CumulativeTimeout can be set on instances of FB_IotFunctions_Request when synchronizing message operations (see Synchronizing message operations).

The use case is as follows (example):