server_license
module requires non obvious and error-prone control flow
#269
Labels
A-core
Area: Core tier
A-technical-debt
Area: Internal cleanup work
bug
Something isn't working
P-medium
Medium priority
LICENSE_ERROR_MESSAGE
licensing packets should not be returned as errors by the parser.Such packets should be handled by the caller, and the caller is responsible for turning those into
Result::Err
if necessary.It should be possible to decode a
LICENSE_ERROR_MESSAGE
structure like any other PDU.Otherwise it requires the caller to match on the error kind in order to check for variants that are not actual errors (notably because of the protocol-level error code
STATUS_VALID_CLIENT
), and it makes the flow of control harder to write correctly and less obvious, i.e.: using the error variant for control flow is an anti-pattern the same way that using exceptions for control flow in languages such as C# or Java is an anti-pattern.See
ConnectionConfirm
from thenego
module for prior art.Prior bug caused by this pattern: #268
The text was updated successfully, but these errors were encountered: