345
|
1 package alice.codesegment;
|
|
2
|
|
3 import alice.datasegment.DataSegment;
|
|
4 import alice.datasegment.Receiver;
|
|
5
|
|
6 public class OutputDataSegment {
|
|
7
|
|
8 /**
|
|
9 * for local
|
|
10 */
|
|
11
|
|
12 public void flip(Receiver receiver) {
|
|
13 receiver.managerKey=null;
|
|
14 DataSegment.getLocal().put(receiver.key, receiver.getObj());
|
|
15 }
|
|
16
|
|
17 public void put(String key, Object val) {
|
|
18 DataSegment.getLocal().put(key, val);
|
|
19 }
|
|
20
|
|
21 public void quickPut(String key, Object val) {
|
|
22 put(key, val);
|
|
23 }
|
|
24
|
|
25 public void update(String key, Object val) {
|
|
26 DataSegment.getLocal().update(key, val);
|
|
27 }
|
|
28
|
|
29 public void quickuUpdate(String key, Object val) {
|
|
30 update(key, val);
|
|
31 }
|
|
32
|
|
33 /**
|
|
34 * for remote
|
|
35 */
|
|
36 public void put(String managerKey, String key, Object val) {
|
|
37 if (!managerKey.equals("local")){
|
|
38 DataSegment.get(managerKey).put(key,val);
|
|
39 } else {
|
|
40 put(key, val);
|
|
41 }
|
|
42 }
|
|
43
|
|
44 public void quickPut(String managerKey, String key, Object val) {
|
|
45 if (!managerKey.equals("local")){
|
|
46 DataSegment.get(managerKey).quickPut(key, val);
|
|
47 } else {
|
|
48 put(key, val);
|
|
49 }
|
|
50 }
|
|
51
|
|
52 public void update(String managerKey, String key, Object val) {
|
|
53 if (!managerKey.equals("local")){
|
|
54 DataSegment.get(managerKey).update(key, val);
|
|
55 } else {
|
|
56 update(key, val);
|
|
57 }
|
|
58 }
|
|
59
|
|
60 public void quickUpdate(String managerKey, String key, Object val) {
|
|
61 if (!managerKey.equals("local")){
|
|
62 DataSegment.get(managerKey).update(key, val);
|
|
63 } else {
|
|
64 update(key, val);
|
|
65 }
|
|
66 }
|
|
67
|
|
68 /**
|
|
69 * kill the Alice process after send other messages.
|
|
70 *
|
|
71 * @param managerKey
|
|
72 */
|
|
73
|
|
74 public void finish(String managerKey) {
|
|
75 DataSegment.get(managerKey).finish();
|
|
76 }
|
|
77
|
|
78 /**
|
|
79 * close socket for RemoteDataSegment after send other messages.
|
|
80 *
|
|
81 * @param managerKey
|
|
82 */
|
|
83
|
|
84 public void close(String managerKey) {
|
|
85 DataSegment.get(managerKey).close();
|
|
86 }
|
|
87
|
|
88 /**
|
|
89 * "key" is not remote DataSegment's key.
|
|
90 * "Ping Response" return in this "key"
|
|
91 *
|
|
92 * @param managerKey
|
|
93 * @param key
|
|
94 */
|
|
95 public void ping(String managerKey, String returnKey) {
|
|
96 DataSegment.get(managerKey).ping(returnKey);
|
|
97 }
|
|
98
|
|
99 }
|