I have a dummy matrix driver with no data source connected. There is no matrix component used in the protocol, only source and destination tables. The crosspoints aren't saved, so after a restart a need to remove all my internal DCF connections.
The problem is that in below code the interfaces doesn't get loaded in the after startup QAction although the startupCheck boolean is set to true. Can someone explain me why?
Hi Jens,
I'm not convinced it makes sense to remove all the internal connections after element startup. As you mentioned the current crosspoint info (in tables) are not saved, I imagine that as soon as possible after startup this content will be requested (polled) and updated into the element card. (offloaded in the tables)
I think it's a lot of overkill to after startup clean ALL connections, and after a couple of seconds when you receive the current connection scheme to then (re)create all those connections. In most cases the amount of matrix switches that will happen while an element or DataMiner restarts will be rather low.
Instead, what you probably should do is:
- After element startup: guarantee the latest matrix info is requested asap and pushed into the respective tables.
- Sync your internal DCF Connections: new connections should be added, disconnects should be removed, and changes should be updated. By using the DCF Helperclasses most of that logic is already available to be used.
That way you don't necessarily remove all your internal DCF connections (!! with possible DCF connection properties on) over and over with each element restart.
This solution will bring less load, and should have functionally a better result.
Good luck! If you have doubts or more questions: please share