Distributed branch overview plan
The distributed branch has been a long running and useful branch that has got behind in merging.
I think it's useful to start from a clean slate while picking ideas from that branch.
The following is a break down of things to do, which are hopefully small enough to be done in steps. It is intended that each of these becomes an issue in itself that can be further discussed as necessary. Some of this work has been done previously and it would also be useful to link that here.
[strikethrough below indicates a separate issue has been filed]
The type of LoopActionBase::type and HistogramBase::getType. These are currently std::type_index, which isn't transferrable to another process- Moving more code out of scanConsole, for instance registering histogram and analysis algorithms and connecting clipboard inputs and outputs
DataProcessor generalisation. How to identify histogram vs analysis vs eventdata processor and connect them together- A remote DataProcessor to send/receive items to a remote process
Mechanism for feedback (scan engine waits on signal from analysis, so what form should that signal take)What RPC services are needed (ie classes with methods to call)The transport mechanism (zeromq vs nanomsg vs TCP)The RPC mechanism, how to encode methods and data. Hopefully this should be independent of the coreSetting up of processes and connecting them together (configuration of)