Details
Description
The current Hama BSPMaster and GroomServer make use of dispatch() and report() function for communication. But the directives passed in is composite, which is a bit difficult to customize new directives for future use. The refactored version allows to pass customized directives by extending Directive class; and the customized directive will be processed with corresponded handler. Also, directives are put into queue, so the rpc method e.g. dispatch() do not need to go through the whole method until the execution is finished.