view src/main/java/alice/topology/manager/ComingServiceHosts.java @ 402:ca2947303438 dispose

one node can work extendsTopology mode
author sugi
date Mon, 23 Jun 2014 14:02:36 +0900
parents
children 539b7f5772c7
line wrap: on
line source

package alice.topology.manager;

import org.msgpack.type.ValueFactory;

import alice.codesegment.CodeSegment;
import alice.datasegment.CommandType;
import alice.datasegment.DataSegment;
import alice.datasegment.Receiver;
import alice.topology.HostMessage;

public class ComingServiceHosts extends CodeSegment{

	Receiver info = ids.create(CommandType.TAKE);
	Receiver info1 = ids.create(CommandType.TAKE);
	int BINATY_TREE = 2;
	
	public ComingServiceHosts(){
		info.setKey("host");
		info1.setKey("hostCount");
	}
	
	@Override
	public void run() {
		HostMessage host = info.asClass(HostMessage.class);
		int comingHostCount = info1.asInteger();
		String nodeName = "node"+comingHostCount;
		 // Manager connect to Node
		DataSegment.connect(nodeName, "", host.name, host.port);
		ods.put(nodeName, "host", nodeName);
		ods.update(info1.key, comingHostCount+1);
		
		for (int i=1;i < BINATY_TREE+1; i++) {
			int num = 2 * comingHostCount+i; 
			HostMessage newHost = new HostMessage(host.name, host.port, "parent", "child"+(i-1));
			ods.put("node"+num, newHost);
		}
		ods.put(nodeName, ValueFactory.createNilValue());
		ods.put("start", ValueFactory.createNilValue());
	}

}