Brunet.Services.MapReduce.RpcMapReduceTask.Reduce C# (CSharp) Метод

Reduce() публичный Метод

public Reduce ( Channel q, object reduce_arg, object current_result, RpcResult child_rpc ) : void
q Brunet.Concurrent.Channel
reduce_arg object
current_result object
child_rpc Brunet.Messaging.RpcResult
Результат void
    public override void Reduce(Channel q, object reduce_arg, object current_result, RpcResult child_rpc) {
      Channel result = new Channel(1, q);
      result.CloseEvent += this.ReduceHandler;
      var childrpc_ht = new Hashtable();
      ISender rsend = child_rpc.ResultSender;
      childrpc_ht["sender"] = rsend != null ? rsend.ToUri() : "sender:localnode";
      try {
        //If this is an exception, this will throw
        childrpc_ht["result"] = child_rpc.Result; 
      }
      catch(Exception x) {
        childrpc_ht["result"] = x;
      }
      _node.Rpc.Invoke(_reduce.First, result, _reduce.Second, reduce_arg, current_result, childrpc_ht);
    }
    protected void ReduceHandler(object o, EventArgs args) {