Revise Status Codes
Revise the definition and handling of status codes. The following proposal should be discussed, evaluated and perhaps implemented:
- Integral status codes are to be interpreted as flag masks.
- Set bits can be used to identify, what kind of issue(s) occurred (e.g. timeout).
- The MSB differentiates between warnings (MSB = 0) and errors (MSB = 1).
- If no bit is set, the status is 'success'.
While the three base statuses 'success', 'warning' and 'error' can be identified very efficiently, all issue flags can be used for errors as well as warnings. The drawback, however, is the limitation of distinguishable issues by the number of bits available (minus the MSB). There is also no way to represent an unspecified warning, while this is possible for errors (only MSB but no flags are set).