Mercurial > hg > Database > Alice
view src/main/java/alice/topology/node/CloseRemoteDataSegment.java @ 547:e91a574b69de dispose
remove index
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 18 Aug 2015 16:15:17 +0900 |
parents | 15eeb439830c |
children |
line wrap: on
line source
package alice.topology.node; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; import alice.topology.manager.keeparive.ListManager; public class CloseRemoteDataSegment extends CodeSegment { private Receiver info = ids.create(CommandType.TAKE); private Receiver info1 = ids.create(CommandType.TAKE); private Receiver info2 = ids.create(CommandType.TAKE); private Receiver info3 = ids.create(CommandType.TAKE); public CloseRemoteDataSegment() { info.setKey("_CLOSEMESSEAGE", this); info1.setKey("_CLOSEREADY", this); info2.setKey("_CLOSEREADY", this); info3.setKey("_SCHEDULER", this); } @Override public void run() { String managerKey = info.asString(); ListManager manager = info3.asClass(ListManager.class); if (info1.from.equals(managerKey)||info2.from.equals(managerKey)) { if (aliceDaemon.dataSegment.contains(managerKey)) aliceDaemon.dataSegment.get(managerKey).shutdown(); manager.deleteAll(managerKey, aliceDaemon); } ods.update(info3.key, manager); new ReceiveCloseMessage(CommandType.PEEK); } }