Mercurial > hg > Database > Alice
diff src/alice/codesegment/InputDataSegment.java @ 18:72dd27d952b0
change InputDataSegment API
author | kazz <kazz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 15 Jan 2012 16:03:11 +0900 |
parents | 22afbb2919f1 |
children | e7867328a2fb |
line wrap: on
line diff
--- a/src/alice/codesegment/InputDataSegment.java Sun Jan 15 15:18:01 2012 +0900 +++ b/src/alice/codesegment/InputDataSegment.java Sun Jan 15 16:03:11 2012 +0900 @@ -1,14 +1,13 @@ package alice.codesegment; -import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; import alice.datasegment.DataSegment; +import alice.datasegment.DataSegmentReceiver; import alice.datasegment.DataSegmentValue; public class InputDataSegment { - private ConcurrentHashMap<String, DataSegmentValue> inputDataSegments = new ConcurrentHashMap<String, DataSegmentValue>(); private CodeSegment cs; private AtomicInteger count = new AtomicInteger(1); // for execute() @@ -16,26 +15,27 @@ this.cs = cs; } - public void peek(String argKey, String managerKey, String key) { - peek(argKey, managerKey, key, 0); + public void peek(DataSegmentReceiver receiver, String managerKey, String key) { + peek(receiver, managerKey, key, 0); } - public void peek(String argKey, String managerKey, String key, int index) { - DataSegment.get(managerKey).peek(argKey, key, index, cs); + public void peek(DataSegmentReceiver receiver, String managerKey, String key, int index) { + DataSegment.get(managerKey).peek(receiver, key, index, cs); count.getAndIncrement(); } - public void take(String argKey,String managerKey, String key) { - take(argKey, managerKey, key, 0); + public void take(DataSegmentReceiver receiver, String managerKey, String key) { + take(receiver, managerKey, key, 0); } - public void take(String argKey, String managerKey, String key, int index) { - DataSegment.get(managerKey).take(argKey, key, index, cs); + public void take(DataSegmentReceiver receiver, String managerKey, String key, int index) { + DataSegment.get(managerKey).take(receiver, key, index, cs); count.getAndIncrement(); } - public void reply(String key, DataSegmentValue val) { - inputDataSegments.put(key, val); + public void reply(DataSegmentReceiver receiver, DataSegmentValue val) { + receiver.index = val.index; + receiver.val = val.val; execute(); } @@ -48,8 +48,5 @@ } } } - - public DataSegmentValue get(String argKey) { - return inputDataSegments.get(argKey); - } + }