Mercurial > hg > Database > Alice
diff src/main/java/alice/test/topology/fish/CheckMyName.java @ 345:8f71c3e6f11d
Change directory structure Maven standard
author | sugi |
---|---|
date | Wed, 16 Apr 2014 18:26:07 +0900 |
parents | |
children | aefbe41fcf12 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/alice/test/topology/fish/CheckMyName.java Wed Apr 16 18:26:07 2014 +0900 @@ -0,0 +1,58 @@ +package alice.test.topology.fish; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import alice.codesegment.CodeSegment; +import alice.datasegment.CommandType; +import alice.datasegment.Receiver; + +public class CheckMyName extends CodeSegment { + + private Receiver host = ids.create(CommandType.PEEK); + + public CheckMyName(){ + host.setKey("host"); + } + + @Override + public void run() { + String name = host.asString(); + Pattern pattern = Pattern.compile("^(node|cli)([0-9]+)$"); + Matcher matcher = pattern.matcher(name); + + matcher.find(); + String type = matcher.group(1); + int num = new Integer(matcher.group(2)); + + if (type.equals("cli")) { + System.out.println("********************I am cli" + num); + ods.update("local", "width", 400); + + GetStartX cs = new GetStartX(); + cs.startX.setKey("local", "startX"); + + } else if (type.equals("node")) { + System.out.println("********************I am node" + num); + WidthReceiver cs = new WidthReceiver(); + cs.widths.setKey("local", "widths"); + cs.routing.setKey("local", "routing"); + + PeekStartX cs2 = new PeekStartX(0); + cs2.startX.setKey("local", "startX"); + + ods.put("local", "routing", new RoutingTable()); + if (num == 0) { // First node ("node0") check + StartStartX cs3 = new StartStartX(); + cs3.width.setKey("local", "width"); + //ods.update("local", "startX", 0); + return; + } + } + + SendWidth cs = new SendWidth(); + cs.width.setKey("local", "width"); + + } + +}