public override void NodeSenderHandler(NodeListReader request) { //Console.WriteLine("RECIEVED PART CONTAINING " + request.num_elements); List <long> array = request.Outlinks; for (int i = 0; i < request.num_elements; i++) { //Console.WriteLine("Cell " + outlink); benchmarkAlgorithm.remote_outlinks.Enqueue(array[i]); } }
public override void BatchNodeCollectionHandler(NodeListReader request, NodeListWriter response) { int index = 0; HashSet <long> send_set = new HashSet <long>(); foreach (long cell_request in request.Outlinks) { if (Global.LocalStorage.Contains(cell_request)) { using (var requestedCell = Global.LocalStorage.UseSimpleGraphNode(cell_request)) { for (int i = 0; i < requestedCell.Outlinks.Count; i++) { send_set.Add(requestedCell.Outlinks[i]); } } } else { Console.WriteLine("CELL " + request.cellnum + " not found"); } } List <long> outlinks = new List <long>(); foreach (long cell in send_set) { if (outlinks.Count >= 10000) { //Console.WriteLine("Send Package with " + outlinks.Count); using (var request2 = new NodeListWriter(0, outlinks.Count, outlinks)) { Global.CloudStorage.NodeSenderToBenchmarkServer(0, request2); } outlinks = new List <long>(); index = 0; } //Console.WriteLine("Add " + cell); outlinks.Add(cell); //response.Outlinks.Add(cell); index++; } //Console.WriteLine("Send Package with " + outlinks.Count); using (var request2 = new NodeListWriter(0, outlinks.Count, outlinks)) { Global.CloudStorage.NodeSenderToBenchmarkServer(0, request2); } //Console.WriteLine("SENDING " + index + " Elements"); //response.num_elements = index; }
public override void NodeCollectionHandler(NodeListReader request, NodeListWriter response) { if (Global.LocalStorage.Contains(request.cellnum)) { using (var requestedCell = Global.LocalStorage.UseSimpleGraphNode(request.cellnum)) { int index = 0; for (int i = 0; i < requestedCell.Outlinks.Count; i++) { response.Outlinks.Add(requestedCell.Outlinks[i]); index++; } response.num_elements = index; } } else { Console.WriteLine("CELL " + request.cellnum + " not found"); } }