After the execution of the protocol is completed from every worker, process the results.
1. Aggregate results from all threads
2.1. If the results are valid, send protocol result
2.2. If the results are not valid, send an error message and close the stream