Skip to content

RPC cabling - tidy up of constructors use more thread friendly messaging

Johannes Junggeburth requested to merge (removed):ATLASRECTS-6313_VolII into master

Hi everybody,

this MR is the first chunk of changes to finally resolve ATLASRECTS-6313 and also to prevent crashes as reported in ATLASRECTS-6428. I took a slightly different approach than in !44527 (merged) where the MessageStream is piped in every function call. Instead I parse the MessageSvc in the constructor allowing the cabling objects to have their own MessageStreams. Also here I switched from a shared resource to a unique one as pointed out by @scott. Please be aware that the TrigT1RPChardware is not touched by this MR, but it eventually needs an update to ensure that the messaging is setup in the old manners.

The second part of the clean up concerns the tremendous number of arguments in the constructor, which make them hard to read and also are prone to errors as usual. I split these class members away into dedicated struct objects which are then used to construct the RPC cabling objects, etc.

I tag @tadej to check with him whether he's fine with the implementation of the MessageSvc

I also tag @goblirsc, @sroe, @npetters, @pgadow, @vcairo for today's episode of the philosopher of the day: image

Edited by Johannes Junggeburth

Merge request reports