Mercurial > hg > Database > Alice
view src/main/java/alice/test/topology/fish/WidthReceiver.java @ 547:e91a574b69de dispose
remove index
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 18 Aug 2015 16:15:17 +0900 |
parents | 15eeb439830c |
children |
line wrap: on
line source
package alice.test.topology.fish; import java.util.Collections; import java.util.Comparator; import java.util.function.Function; import java.util.function.ToDoubleFunction; import java.util.function.ToIntFunction; import java.util.function.ToLongFunction; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; public class WidthReceiver extends CodeSegment { public Receiver widths = ids.create(CommandType.TAKE); public Receiver routing = ids.create(CommandType.PEEK); @Override public void run() { int width = this.widths.asInteger(); String from = this.widths.from; RoutingTable routing = this.routing.asClass(RoutingTable.class); Routing newRouting = new Routing(from, width); boolean update = false; for (Routing r : routing.table) { if (r.id == newRouting.id) { routing.sumWidth -= r.width; routing.sumWidth += newRouting.width; r.width = width; update = true; break; } } if (!update) { routing.table.add(newRouting); Collections.sort(routing.table, new Comparator<Routing>() { @Override public int compare(Routing o1, Routing o2) { return o1.id - o2.id; } @Override public Comparator<Routing> reversed() { return null; } @Override public Comparator<Routing> thenComparing( Comparator<? super Routing> other) { return null; } @Override public <U> Comparator<Routing> thenComparing( Function<? super Routing, ? extends U> keyExtractor, Comparator<? super U> keyComparator) { return null; } @Override public <U extends Comparable<? super U>> Comparator<Routing> thenComparing( Function<? super Routing, ? extends U> keyExtractor) { return null; } @Override public Comparator<Routing> thenComparingInt( ToIntFunction<? super Routing> keyExtractor) { return null; } @Override public Comparator<Routing> thenComparingLong( ToLongFunction<? super Routing> keyExtractor) { return null; } @Override public Comparator<Routing> thenComparingDouble( ToDoubleFunction<? super Routing> keyExtractor) { return null; } }); routing.sumWidth += width; } System.out.println("SUM WIDTH: " + routing.sumWidth); System.out.println("NODE NUM: " + routing.table.size()); ods.update("width", routing.sumWidth); ods.update("routing", routing); WidthReceiver cs = new WidthReceiver(); cs.widths.setKey("widths", this); cs.routing.setKey("routing", this); //cs.routing.setKey("routing", this.routing.index); } }