Mercurial > hg > Database > Alice
annotate src/main/java/alice/topology/node/PrepareToClose.java @ 602:8a9fd716c335 dispose
change topology class extends CodeSegment from MetaCodeSegment, Chat minor fix
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 03 May 2016 20:09:45 +0900 |
parents | 3284428f525e |
children |
rev | line source |
---|---|
492 | 1 package alice.topology.node; |
2 | |
3 import java.util.List; | |
4 | |
5 import alice.codesegment.CodeSegment; | |
599
3284428f525e
add MetaCodeSegment & MetaDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
494
diff
changeset
|
6 import alice.codesegment.MetaCodeSegment; |
492 | 7 import alice.datasegment.CommandType; |
8 import alice.datasegment.DataSegment; | |
9 import alice.datasegment.DataSegmentManager; | |
10 import alice.datasegment.Receiver; | |
11 | |
602
8a9fd716c335
change topology class extends CodeSegment from MetaCodeSegment, Chat minor fix
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents:
599
diff
changeset
|
12 public class PrepareToClose extends CodeSegment { |
492 | 13 |
14 private Receiver info = ids.create(CommandType.PEEK); | |
15 private Receiver info1 = ids.create(CommandType.TAKE); | |
16 | |
17 public PrepareToClose() { | |
18 info.setKey("_CLOSEMESSEAGE"); | |
19 info1.setKey("_CLIST"); | |
20 } | |
21 | |
22 @SuppressWarnings("unchecked") | |
23 @Override | |
24 public void run() { | |
25 String managerKey = info.asString(); | |
26 List<String> list = info1.asClass(List.class); | |
27 if (list.contains(managerKey)) { | |
28 list.remove(managerKey); | |
29 DataSegmentManager manager = DataSegment.get(managerKey); | |
30 manager.setSendError(false); | |
31 | |
32 ods.put(managerKey, "_CLOSEREADY", managerKey); | |
33 ods.put("_CLOSEREADY", managerKey); | |
34 | |
35 new CloseRemoteDataSegment(); | |
36 } else { | |
494 | 37 // lost node is this node's parent, so already removed |
38 new ReceiveCloseMessage(CommandType.TAKE); | |
492 | 39 } |
494 | 40 ods.put(info1.key, list); |
492 | 41 |
42 } | |
43 | |
44 } |