Skip to content

HMLGW2 configuration parameters Reconnect, ReconnectDelay and KeepAliveTimeout appear to be unused #7

Description

@virgin09

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions