Mercurial > hg > Database > Alice
view src/alice/topology/manager/reconnection/CheckABSName.java @ 269:9982e1c4f099
debugging reconnectManager
author | sugi |
---|---|
date | Tue, 20 Aug 2013 17:35:03 +0900 |
parents | 709936c00c89 |
children | 23e53aaa8720 |
line wrap: on
line source
package alice.topology.manager.reconnection; 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 CheckABSName extends CodeSegment{ private Receiver abs = ids.create(CommandType.PEEK); private Receiver host = ids.create(CommandType.TAKE); private HostMessage message; public CheckABSName(HostMessage mes) { message = mes; abs.setKey("_ABSIPTABLE"); host.setKey("host"); } @Override public void run() { System.out.println("CheckABSName"); @SuppressWarnings("unchecked") List<HostMessage> ABSIPList = abs.asClass(List.class); for (HostMessage mes : ABSIPList){ if (mes.name.equals(message.name)&&mes.port == message.port){ HostMessage hostInfo = host.asClass(HostMessage.class); DataSegment.remove(mes.getABSName()); DataSegment.connect(mes.getABSName(), "", hostInfo.name, hostInfo.port); ods.put(mes.getABSName(), "host", mes.getABSName()); ods.put("_RECABSNAME", mes.getABSName()); ods.put("HMCLONE", new HostMessage(mes.name, mes.port)); mes.port = hostInfo.port; mes.name = hostInfo.name; ods.update("_ABSIPTABLE", ABSIPList); break; } } new CheckConnectionList(); } }