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 describing the SDK:
Let's describe the job of each of these components:
The
Message
component encapsulates a piece of information that is exchanged between the application and the workerThe
JobRequest
component contains the necessary information to dispatch a proper job to a workerThe
JobResult
component contains the result of the Mandelbrot set calculation for a given lineThe
MessageUtils
component contains helper functions to serialize/deserialize data across the TCP socket
All these files have to be accessible from each side of our IPC mechanism (application and worker). Note that the SDK will contain only header files. We did it on purpose to simplify...