So here’s the plan. Ultimately I want to connect the Java Client (and possibly other applications as well) to the mirror. In order to do that I will have to think of a way to make them talk to each other.
But I also want to be independent of both. What I mean by that is that I don’t want to be debugging both components at the same time. I want to be able to control (and debug) the mirror separately, and I want to do the same thing with the Java Client, no matter if it is connected to a mirror or not.
In order to do so I will create an application that can talk to both in order to setup the link. I though I’d call it the debug hub. Because it acts as a hub in the communication between the java client (or something else) and the mirror. But only during debug sessions.
In the diagram below you can see the general idea.
Notice how I deliberately show 2 mirrors here. During debug of the mirror I’ll be using the mirror on my mac. But I want to be able to control both the Pi and the Mac mirror. There’s only 1 java client, so I will make it so it can connect to both the mirror on the Pi as the debug hub.