I propose to eliminate the T&S requirement that error codes (the numeric value of the errorCode topic) be globally unique. I feel this requirement is unnecessary and disruptive.
- It is unnecessary because the errorCode topic is distinct for each CSC. There is no possibility of confusing an errorCode sample from one CSC with that from another because part of the DDS topic name is the SAL component name (e.g. "M1M3").
- There are cases where it would be useful to have a few standard error codes shared among several CSCs. For instance in ts_salobj what happens if a CSC fails to transition to a desired summary state? Ideally the CSC-specific code will itself go to the fault state with a specific error code. But if it fails to do that, I think the best fallback is to allow the base class to go into a fault state with a more generic error code. I don't see how to do this sensibly unless error codes can be shared.
- It is a waste of time to manage the allowed globally distinct ranges of error codes for CSCs. Even getting a range for a new CSC is a headache. It will be far worse if we run out of error codes for a CSC and have to shift ranges or assign discontiguous ranges for a given CSC. We don't have time for this.