summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gateway/dlt_gateway.c18
-rw-r--r--src/gateway/dlt_gateway.conf5
2 files changed, 17 insertions, 6 deletions
diff --git a/src/gateway/dlt_gateway.c b/src/gateway/dlt_gateway.c
index a47563a..005716e 100644
--- a/src/gateway/dlt_gateway.c
+++ b/src/gateway/dlt_gateway.c
@@ -193,7 +193,8 @@ DLT_STATIC DltReturnValue dlt_gateway_check_timeout(DltGatewayConnection *con,
con->timeout = (int)strtol(value, NULL, 10);
- if (con->timeout > 0)
+
+ if (con->timeout >= 0)
return DLT_RETURN_OK;
return DLT_RETURN_ERROR;
@@ -978,11 +979,16 @@ int dlt_gateway_establish_connections(DltGateway *gateway,
con->timeout_cnt++;
- if (con->timeout_cnt > con->timeout) {
- con->trigger = DLT_GATEWAY_DISABLED;
- dlt_log(LOG_WARNING,
- "Passive Node connection retry timed out. "
- "Give up.\n");
+ if (con->timeout > 0) {
+ if (con->timeout_cnt > con->timeout) {
+ con->trigger = DLT_GATEWAY_DISABLED;
+ dlt_log(LOG_WARNING,
+ "Passive Node connection retry timed out. "
+ "Give up.\n");
+ }
+ }
+ else if (con->timeout == 0) {
+ dlt_vlog(LOG_DEBUG, "Retried [%d] times\n", con->timeout_cnt);
}
}
}
diff --git a/src/gateway/dlt_gateway.conf b/src/gateway/dlt_gateway.conf
index c7ef3a8..3f475e6 100644
--- a/src/gateway/dlt_gateway.conf
+++ b/src/gateway/dlt_gateway.conf
@@ -10,8 +10,13 @@ IPaddress=192.168.2.11
EcuID=ECU2
; Try connect to passive Node on DLT Daemon startup. Default OnStartup if not specified.
; Connect=OnStartup
+
; Stop connecting to passive node, if not successful after 10 retries.
+; After <Timeout> of retries, the connection to passive Node is marked as DISABLED.
+; It means there is no any retry anymore.
+; Set to 0 for endless retry.
Timeout=10
+
; Send following control messages after connection is established
; SendControl=0x03,0x04,0x13
; Send Serial Header with control messages. Value in dlt.conf is used as default if not specified.