view src/alice/topology/node/IncomingConnectionInfo.java @ 270:23e53aaa8720

reconnect manager worked.
author sugi
date Wed, 21 Aug 2013 15:33:49 +0900
parents 7f7b3506bff9
children 3667ab045530
line wrap: on
line source

package alice.topology.node;

import java.util.ArrayList;
import java.util.List;

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

public class IncomingConnectionInfo extends CodeSegment {

	public Receiver hostInfo = ids.create(CommandType.TAKE);
	private List<String> connectionList;
	private String absName;
	private int count;
	
	public IncomingConnectionInfo(String absName, int count) {
		this.absName = absName;
		this.count = count;
		this.connectionList = new ArrayList<String>();
	}
	
	public IncomingConnectionInfo(String absName, int count, List<String> connectionList) {
		this.absName = absName;
		this.count = count;
		this.connectionList = connectionList;
	}

	@Override
	public void run() {
		if (this.hostInfo.getVal() == null) {
			ods.put("local", "configNodeNum", count);
			System.out.println("bbb");
			return;
		}
		
		HostMessage hostInfo = this.hostInfo.asClass(HostMessage.class);
		System.out.println(hostInfo.connectionName+" "+hostInfo.name+" "+hostInfo.port );
		DataSegment.connect(hostInfo.connectionName, hostInfo.reverseName, hostInfo.name, hostInfo.port);
		ods.put(hostInfo.connectionName, "reverseKey", hostInfo.reverseName);
		connectionList.add(hostInfo.connectionName);
		ods.update("_CLIST", connectionList);
		IncomingConnectionInfo cs = new IncomingConnectionInfo(absName, ++count, connectionList);
		cs.hostInfo.setKey("manager", absName);
		System.out.println("aaa");
	}

}