Skip to content

Remote Connector for Race Engineering

This MR adds the ability for the remote instance of Second Monitor to connect to multiple Broadcast Servers at a time but still treats the connector as a "single driver connected at a time." The race engineer can add an initial source using the configuration widget found in the Manage Plugins screen but then add multiple other connections once the Timing UI has been opened. These connections also don't have to be to drivers in the same session, but at present, the "session context" data gets reset whenever a switch occurs.

My ultimate aim is to get to an implementation that solves the problem described in #59

Screenshots

The first screenshot is an example of what the "Remote Connector Options" window looks like. The example is connected to a single broadcast server instance running on the same machine, one connecting via the loopback interface and one connecting via the device's IP address. Remote_Connector_Options_Window

Adding extra sources can be done by clicking the "Add New Source" button. Add_New_Remote_Source

The last screenshot highlights the little "settings" button added to "live configure" a plugin: image

General notes

  • I did some rework on the IoC container, specifically to allow for resolving dependencies with the internal modifier.
  • I also did a bit of refactoring to introduce some consistency from a namespacing point of view.
  • There's also some structural project refactoring in some cases to better conform to what is a "plugin" and what is a "connector".
  • While this is a pretty extensive rework of the network component, the fundamental "single view" behaviour should stay the same. There is quite a bit of "battle testing" needed to see if this works in a team setting.
Edited by Sas van der Westhuizen

Merge request reports