The first step is to implement the classes that will be shared between our application and the workers. To do so, we are going to rely on a custom SDK. If you need to refresh your memory about this technique, take a look at Chapter 8, Animations – It's Alive, Alive!.
As a reminder, here is the diagram that describes the SDK:
Let's look at the job of each of these components:
- The Message component encapsulates a piece of information that is exchanged between the application and the worker.
- The JobRequest component contains the necessary information to dispatch a proper job to a worker.
- The JobResult component contains the result of the Mandelbrot set calculation for a given line.
- The MessageUtils component contains helper functions to serialize/deserialize data across the TCP socket.
All these files have to be accessible...