Mercurial > hg > Database > Alice
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); |