Mercurial > hg > Database > Alice
annotate src/main/java/alice/topology/node/CloseRemoteDataSegment.java @ 599:3284428f525e dispose
add MetaCodeSegment & MetaDSM
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 15 Feb 2016 01:16:35 +0900 |
parents | 28627bb3eeda |
children | 8a9fd716c335 |
rev | line source |
---|---|
492 | 1 package alice.topology.node; |
2 | |
3 import alice.codesegment.CodeSegment; | |
599
3284428f525e
add MetaCodeSegment & MetaDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
4 import alice.codesegment.MetaCodeSegment; |
492 | 5 import alice.datasegment.CommandType; |
6 import alice.datasegment.DataSegment; | |
7 import alice.datasegment.Receiver; | |
8 import alice.topology.manager.keeparive.ListManager; | |
9 | |
599
3284428f525e
add MetaCodeSegment & MetaDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
507
diff
changeset
|
10 public class CloseRemoteDataSegment extends MetaCodeSegment { |
492 | 11 |
12 private Receiver info = ids.create(CommandType.TAKE); | |
13 private Receiver info1 = ids.create(CommandType.TAKE); | |
14 private Receiver info2 = ids.create(CommandType.TAKE); | |
15 private Receiver info3 = ids.create(CommandType.TAKE); | |
16 | |
17 public CloseRemoteDataSegment() { | |
18 info.setKey("_CLOSEMESSEAGE"); | |
19 info1.setKey("_CLOSEREADY"); | |
20 info2.setKey("_CLOSEREADY"); | |
507 | 21 info3.setKey("_SCHEDULER"); |
492 | 22 } |
23 | |
24 @Override | |
25 public void run() { | |
26 String managerKey = info.asString(); | |
494 | 27 ListManager manager = info3.asClass(ListManager.class); |
492 | 28 if (info1.from.equals(managerKey)||info2.from.equals(managerKey)) { |
29 if (DataSegment.contains(managerKey)) | |
30 DataSegment.get(managerKey).shutdown(); | |
31 manager.deleteAll(managerKey); | |
32 } | |
33 | |
502 | 34 ods.update(info3.key, manager); |
492 | 35 new ReceiveCloseMessage(CommandType.PEEK); |
36 } | |
37 | |
38 } |