DislikedThe slaves loop through the known pairs. If RefreshRates() is true, it has to rescan all the known pairs. If refreshrates() is false, it just resends previously sent data.Ignored
I wrote up a bunch of ideas on what I consider a good architecture for this type of project but will forbear. I think the design is causing unnecessary bottlenecks by repeating unchanged data. If you only send changed data from the slaves to the master you have already won (most of) the bottleneck battle. Writing the master as a standalone program will also solve a lot of your speed problems.
Best Regards,