view src/alice/test/topology/ring/CheckMyName.java @ 55:0c2ad7c70f4e

change ring calculate time unit, milli to nano
author kazz <kazz@cr.ie.u-ryukyu.ac.jp>
date Tue, 07 Feb 2012 19:34:50 +0900
parents 1a498f436332
children a76e603c43a0
line wrap: on
line source

package alice.test.topology.ring;

import org.apache.log4j.Logger;

import alice.codesegment.CodeSegment;
import alice.datasegment.CommandType;
import alice.datasegment.Receiver;

public class CheckMyName extends CodeSegment {

	public Receiver host = ids.create(CommandType.PEEK);
	
	private Logger logger = Logger.getLogger(CheckMyName.class);
	private RingTopologyConfig conf;
	public CheckMyName(RingTopologyConfig conf) {
		this.conf = conf;
	}
	@Override
	public void run() {
		String host = this.host.asString();
		logger.debug(host);
		if (host.equals("node0")) {
			ods.put("local", "counter", 0);
			FirstRingMessagePassing cs1 = new FirstRingMessagePassing(System.nanoTime(), conf.count);
			cs1.counter.setKey("local", "counter");
			RingFinish cs2 = new RingFinish("manager");
			cs2.finish.setKey("local", "finish");
		} else {
			ods.close("manager");
			RingMessagePassing cs1 = new RingMessagePassing();
			cs1.counter.setKey("local", "counter");
			RingFinish cs2 = new RingFinish("right");
			cs2.finish.setKey("local", "finish");
		}
	}

}