Beispiel #1
0
        public override void DistanceUpdatingHandler(DistanceUpdatingMessageReader request)
        {
            List <DistanceUpdatingMessage> DistanceUpdatingMessageList = new List <DistanceUpdatingMessage>();

            request.recipients.ForEach((cellId) =>
            {
                using (var cell = Global.LocalStorage.UseSSSPCell(cellId))
                {
                    if (cell.distance > request.distance + 1)
                    {
                        cell.distance = request.distance + 1;
                        cell.parent   = request.senderId;
                        Console.Write(cell.distance + " ");
                        MessageSorter sorter = new MessageSorter(cell.neighbors);

                        for (int i = 0; i < Global.ServerCount; i++)
                        {
                            DistanceUpdatingMessageWriter msg = new DistanceUpdatingMessageWriter(cell.CellID.Value,
                                                                                                  cell.distance, sorter.GetCellRecipientList(i));
                            Global.CloudStorage.DistanceUpdatingToSSSPServer(i, msg);
                        }
                    }
                }
            });
        }
Beispiel #2
0
        public override void DistanceUpdatingHandler(DistanceUpdatingMessageReader request)
        {
            //List<DistanceUpdatingMessage> DistanceUpdatingMessageList = new List<DistanceUpdatingMessage>();
            request.recipients.ForEach((cellId) =>
            {
                using (var cell = Global.LocalStorage.UseSSSPCell(cellId))
                {
                    cell.newRankValue += request.rankValueP;

                    //Console.WriteLine(cell.CellID.Value + ": " + cell.newRankValue);

                    /*
                     * MessageSorter sorter = new MessageSorter(cell.neighbors);
                     * for (int i = 0; i < Global.SlaveCount; i++)
                     * {
                     *      DistanceUpdatingMessageWriter msg = new DistanceUpdatingMessageWriter(cell.CellID.Value,
                     *          cell.distance, sorter.GetCellRecipientList(i));
                     *      Global.CloudStorage.DistanceUpdatingToSlave(i, msg);
                     * }
                     */
                }
            });
        }
Beispiel #3
0
        public override void DistanceUpdatingHandler(DistanceUpdatingMessageReader request)
        {
            //List<DistanceUpdatingMessage> DistanceUpdatingMessageList = new List<DistanceUpdatingMessage>();
            request.recipients.ForEach((cellId) =>
                {
                    using (var cell = Global.LocalStorage.UseSSSPCell(cellId))
                    {
                        cell.newRankValue += request.rankValueP;

                        //Console.WriteLine(cell.CellID.Value + ": " + cell.newRankValue);

                        /*
                        MessageSorter sorter = new MessageSorter(cell.neighbors);
                        for (int i = 0; i < Global.SlaveCount; i++)
                        {
                                DistanceUpdatingMessageWriter msg = new DistanceUpdatingMessageWriter(cell.CellID.Value,
                                    cell.distance, sorter.GetCellRecipientList(i));
                                Global.CloudStorage.DistanceUpdatingToSlave(i, msg);
                        }
                        */
                    }
                });
        }