added agent configuration parameter TunnelKeepaliveInterval
authorVictor Kirhenshtein <victor@netxms.org>
Tue, 26 Sep 2017 12:39:57 +0000 (15:39 +0300)
committerVictor Kirhenshtein <victor@netxms.org>
Tue, 26 Sep 2017 12:39:57 +0000 (15:39 +0300)
ChangeLog
src/agent/core/nxagentd.cpp
src/agent/core/nxagentd.h
src/agent/core/tunnel.cpp

index fcbb6a1..2790ebd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,6 +13,7 @@
 - Summary tables for table DCIs
 - Multi-valued columns in summary tables
 - Threshold violation events have current DCI value as parameter 8 (named as "dciValue")
+- New agent configuration parameter TunnelKeepaliveInterval
 - Fixed issues: NX-1265, NX-1296, NX-1300, NX-1309, NX-1314, NX-1315
 
 
index 5a4b307..3a0f701 100644 (file)
@@ -184,6 +184,7 @@ UINT32 g_dcReconciliationBlockSize = 1024;
 UINT32 g_dcReconciliationTimeout = 15000;
 UINT32 g_dcMaxCollectorPoolSize = 64;
 UINT32 g_zoneUIN = 0;
+UINT32 g_tunnelKeepaliveInterval = 30;
 UINT16 g_syslogListenPort = 514;
 #ifdef _WIN32
 UINT16 g_sessionAgentPort = 28180;
@@ -310,6 +311,7 @@ static NX_CFG_TEMPLATE m_cfgTemplate[] =
    { _T("SyslogListenPort"), CT_WORD, 0, 0, 0, 0, &g_syslogListenPort, NULL },
    { _T("SystemName"), CT_STRING, 0, 0, MAX_OBJECT_NAME, 0, g_systemName, NULL },
    { _T("TimeOut"), CT_IGNORE, 0, 0, 0, 0, NULL, NULL },
+   { _T("TunnelKeepaliveInterval"), CT_LONG, 0, 0, 0, 0, &g_tunnelKeepaliveInterval, NULL },
    { _T("WaitForProcess"), CT_STRING, 0, 0, MAX_PATH, 0, s_processToWaitFor, NULL },
    { _T("ZoneId"), CT_LONG, 0, 0, 0, 0, &g_zoneUIN, NULL }, // for backward compatibility
    { _T("ZoneUIN"), CT_LONG, 0, 0, 0, 0, &g_zoneUIN, NULL },
index 13962a5..7daa976 100644 (file)
@@ -676,6 +676,7 @@ extern UINT16 g_snmpTrapPort;
 extern UINT32 g_longRunningQueryThreshold;
 extern UINT16 g_sessionAgentPort;
 extern UINT32 g_zoneUIN;
+extern UINT32 g_tunnelKeepaliveInterval;
 extern UINT16 g_syslogListenPort;
 
 extern Config *g_config;
index 4be144a..e380a24 100644 (file)
@@ -1264,6 +1264,7 @@ THREAD_RESULT THREAD_CALL TunnelManager(void *)
       return THREAD_OK;
    }
 
+   g_tunnelKeepaliveInterval *= 1000;  // convert to milliseconds
    nxlog_debug(3, _T("Tunnel manager started"));
    do
    {
@@ -1273,7 +1274,7 @@ THREAD_RESULT THREAD_CALL TunnelManager(void *)
          t->checkConnection();
       }
    }
-   while(!AgentSleepAndCheckForShutdown(30000));
+   while(!AgentSleepAndCheckForShutdown(g_tunnelKeepaliveInterval));
    nxlog_debug(3, _T("Tunnel manager stopped"));
    return THREAD_OK;
 }