This also comes with the help of ChatGPT. If it is not relevant please delete:
While looking into the HMLGW2 reconnect behaviour in the now published rfd sources, I noticed that several parameters which are present in existing rfd.conf files do not appear to be evaluated by the current HMLGW2 code path.
For example:
Reconnect = 1
ReconnectDelay = 20
KeepAliveTimeout = 600
In CCU2BidcosRemoteInterface::InitHMLGWPortCommController(), the HMLGW2-specific configuration currently reads:
const std::string serialNr = params["Serial Number"];
const std::string encKey = params["Encryption Key"];
const std::string host = params["IP Address"];
const std::string csmaca = params["CSMACA-Enabled"];
BidcosInterface::Init() additionally reads:
Serial Number
Type
Description
I could not find references to:
KeepAliveTimeout
ReconnectDelay
anywhere else in the current OpenCCU-Base repository.
A repository-wide search for "Reconnect" only showed the internal reconnect implementation such as:
LGWPortWrapper::reconnect()
LGWPortWrapper::asyncReconnect()
but no obvious parsing or evaluation of a "Reconnect" configuration parameter.
At the same time, the corresponding behaviour in LGWPortWrapper.cpp appears to use hard-coded values, for example:
- the keepalive reply handling waits in four 1-second intervals before triggering asyncReconnect()
- the reconnect logic uses a hard-coded basetimeout of 5 seconds
So my question is:
Are the parameters
Reconnect
ReconnectDelay
KeepAliveTimeout
still intended to have any effect for HMLGW2 interfaces, or are they legacy configuration entries which are no longer used?
If they are indeed obsolete, it might be useful to either remove them from generated configurations or document that they are ignored, to avoid the impression that they can be used to tune the HMLGW2 reconnect behaviour.
I am deliberately reporting this as an observation/question rather than a confirmed bug, since there may be another code path or historical compatibility reason which I have overlooked.
Best regards
virgin
This also comes with the help of ChatGPT. If it is not relevant please delete:
While looking into the HMLGW2 reconnect behaviour in the now published rfd sources, I noticed that several parameters which are present in existing rfd.conf files do not appear to be evaluated by the current HMLGW2 code path.
For example:
Reconnect = 1
ReconnectDelay = 20
KeepAliveTimeout = 600
In CCU2BidcosRemoteInterface::InitHMLGWPortCommController(), the HMLGW2-specific configuration currently reads:
const std::string serialNr = params["Serial Number"];
const std::string encKey = params["Encryption Key"];
const std::string host = params["IP Address"];
const std::string csmaca = params["CSMACA-Enabled"];
BidcosInterface::Init() additionally reads:
Serial Number
Type
Description
I could not find references to:
KeepAliveTimeout
ReconnectDelay
anywhere else in the current OpenCCU-Base repository.
A repository-wide search for "Reconnect" only showed the internal reconnect implementation such as:
LGWPortWrapper::reconnect()
LGWPortWrapper::asyncReconnect()
but no obvious parsing or evaluation of a "Reconnect" configuration parameter.
At the same time, the corresponding behaviour in LGWPortWrapper.cpp appears to use hard-coded values, for example:
So my question is:
Are the parameters
Reconnect
ReconnectDelay
KeepAliveTimeout
still intended to have any effect for HMLGW2 interfaces, or are they legacy configuration entries which are no longer used?
If they are indeed obsolete, it might be useful to either remove them from generated configurations or document that they are ignored, to avoid the impression that they can be used to tune the HMLGW2 reconnect behaviour.
I am deliberately reporting this as an observation/question rather than a confirmed bug, since there may be another code path or historical compatibility reason which I have overlooked.
Best regards
virgin