Controller<>Worker Network API
The Controller<>Worker API needs a network implementation.
The Controller<>Worker API is defined in worker_api.h. The API is straightforward: the controller sends actions to the worker; the worker executes them asynchronously and sends results back to the controller as results become available.
The Clockwork Worker is defined in worker.h and implements the Worker side of the API (workerapi::Worker interface and ClockworkWorker implementation)
There are currently no implementations of the Controller side of the API outside of testing; an example implementation for tests can be found in testworker.cpp.
This API needs a network implementation. The exact tasks involved are split out into separate issues, with this as a master issue.
Once this is complete, the desired outcome is as follows:
-
There is a binary to start a clockwork worker, probably called
worker
. This starts a clockwork worker and immediately listens on some predefined port. The server accepts connections, receives actions off the network, and sends results back on the network. -
There is a network client implementation that connects to the worker, sends actions, and receives results.
Child Issues:
#3 (closed) Network Representation of Actions
#4 (closed) Queueing logic in message sender
#5 (closed) Worker-side handler for Controller<>Worker API
#6 (closed) Standalone Worker binary
#17 (closed) Controller-side handler for Controller<>Worker API