RDO to PRD with PRD caching (CSC, MDT)
This MR follows up on MR!29397 which needed to be reverted due to failing the FrozenT0 tests. I have debugged a lot and have identified that the problems originated in two places:
- Some updated I started making to RPC were not safe and these are removed in this MR (along with TGC, MM and sTGC as these have not been implemented yet).
- The MDT changes required restructuring. There are two special cases 1 RDO -> 2 PRD (this was already handled in the code) and 2 RDO -> 1 PRD. The latter was using const_cast to add new data to existing collections. This cannot work in MT, so I needed to rewrite to identify special cases of 2 RDO and pass them both into the decoding code at the same time and process them together. There were edge cases which were missed : a) When RDO1 was empty, RDO 2 was unintentionally skipped b) When any RDO was empty, I was saving an empty PRD which shifted the order of PRD in the output and failed the diff-tree
These have been resolved such that my tests now align perfectly with the test before the changes were implemented. I mark this as WIP as I need to also find Savanna's update which was placed to avoid an infinite loop and was also reverted.
Edited by Ian Allan Connelly