comparison src/alice/datasegment/DataSegmentKey.java @ 14:e3f1b21718b0

implements RemoteDataSegment
author kazz <kazz@cr.ie.u-ryukyu.ac.jp>
date Sun, 15 Jan 2012 00:56:25 +0900
parents 30f97d776a3e
children bb075e103cd3
comparison
equal deleted inserted replaced
13:30f97d776a3e 14:e3f1b21718b0
41 dataList.add(dsv); 41 dataList.add(dsv);
42 // run waiting peek and take 42 // run waiting peek and take
43 LinkedList<Command> removeList = new LinkedList<Command>(); 43 LinkedList<Command> removeList = new LinkedList<Command>();
44 for (Command waitCmd : waitList) { 44 for (Command waitCmd : waitList) {
45 if (waitCmd.index < index) { 45 if (waitCmd.index < index) {
46 waitCmd.replyQueue.put(new Command(CommandType.REPLY, null, cmd.val, index, waitCmd.seq, null, null)); 46 waitCmd.replyQueue.put(new Command(CommandType.REPLY, null, null, cmd.val, index, waitCmd.seq, null, null));
47 removeList.add(waitCmd); 47 removeList.add(waitCmd);
48 if (waitCmd.type == CommandType.TAKE) { // delete data, if it run take cmd. 48 if (waitCmd.type == CommandType.TAKE) { // delete data, if it run take cmd.
49 dataList.remove(dsv); 49 dataList.remove(dsv);
50 break; 50 break;
51 } 51 }
60 waitList.add(cmd); 60 waitList.add(cmd);
61 break; 61 break;
62 } 62 }
63 for (DataSegmentValue data : dataList) { 63 for (DataSegmentValue data : dataList) {
64 if (data.index > cmd.index) { 64 if (data.index > cmd.index) {
65 cmd.replyQueue.put(new Command(CommandType.REPLY, null, data.val, data.index, cmd.seq, null, null)); 65 cmd.replyQueue.put(new Command(CommandType.REPLY, null, null, data.val, data.index, cmd.seq, null, null));
66 break; 66 break;
67 } 67 }
68 } 68 }
69 waitList.add(cmd); 69 waitList.add(cmd);
70 break; 70 break;
73 waitList.add(cmd); 73 waitList.add(cmd);
74 break; 74 break;
75 } 75 }
76 for (DataSegmentValue data : dataList) { 76 for (DataSegmentValue data : dataList) {
77 if (data.index > cmd.index) { 77 if (data.index > cmd.index) {
78 cmd.replyQueue.put(new Command(CommandType.REPLY, null, data.val, data.index, cmd.seq, null, null)); 78 cmd.replyQueue.put(new Command(CommandType.REPLY, null, null, data.val, data.index, cmd.seq, null, null));
79 dataList.remove(data); 79 dataList.remove(data);
80 break; 80 break;
81 } 81 }
82 } 82 }
83 waitList.add(cmd); 83 waitList.add(cmd);