Mercurial > hg > Database > Alice
comparison src/alice/datasegment/DataSegmentManager.java @ 308:a8255a831ade
implement ping api
author | sugi |
---|---|
date | Tue, 19 Nov 2013 17:39:44 +0900 |
parents | f5d7654b90ff |
children | 174ea66bf28a |
comparison
equal
deleted
inserted
replaced
307:52bb813ed52e | 308:a8255a831ade |
---|---|
8 | 8 |
9 import alice.codesegment.CodeSegment; | 9 import alice.codesegment.CodeSegment; |
10 | 10 |
11 public abstract class DataSegmentManager { | 11 public abstract class DataSegmentManager { |
12 | 12 |
13 protected ConcurrentHashMap<Integer, Command> seqHash = new ConcurrentHashMap<Integer, Command>(); //TODO Over Head | 13 protected ConcurrentHashMap<Integer, Command> seqHash = new ConcurrentHashMap<Integer, Command>(); |
14 protected LinkedBlockingQueue<Command> replyQueue = new LinkedBlockingQueue<Command>(); | 14 protected LinkedBlockingQueue<Command> replyQueue = new LinkedBlockingQueue<Command>(); |
15 protected AtomicInteger seq = new AtomicInteger(1); // waiting for PUT or UPDATE at unique sequence number | 15 protected AtomicInteger seq = new AtomicInteger(1); // waiting for PUT or UPDATE at unique sequence number |
16 // but it doesn't need for Local | 16 // but it doesn't need for Local |
17 | 17 |
18 protected Runnable replyThread = new Runnable() { | 18 protected Runnable replyThread = new Runnable() { |
47 replyQueue.put(cmd); | 47 replyQueue.put(cmd); |
48 } catch (InterruptedException e) { | 48 } catch (InterruptedException e) { |
49 e.printStackTrace(); | 49 e.printStackTrace(); |
50 } | 50 } |
51 } | 51 } |
52 | 52 |
53 | |
54 public abstract void put(String key, Object val); | 53 public abstract void put(String key, Object val); |
55 public abstract void update(String key, Object val); | 54 public abstract void update(String key, Object val); |
56 public abstract void take(Receiver receiver, CodeSegment cs); | 55 public abstract void take(Receiver receiver, CodeSegment cs); |
57 public abstract void peek(Receiver receiver, CodeSegment cs); | 56 public abstract void peek(Receiver receiver, CodeSegment cs); |
57 | |
58 public abstract void quickPut(String key, Object val); | |
59 public abstract void quickUpdate(String key, Object val); | |
60 public abstract void quickPeek(Receiver receiver, CodeSegment cs); | |
61 public abstract void quickTake(Receiver receiver, CodeSegment cs); | |
58 | 62 |
59 public abstract void remove(String key); | 63 public abstract void remove(String key); |
60 public abstract void close(); | 64 public abstract void close(); |
61 public abstract void finish(); | 65 public abstract void finish(); |
62 | 66 |
63 public abstract void quickPut(String key, Object val); | 67 public abstract void ping(String returnKey); |
64 public abstract void quickUpdate(String key, Object val); | 68 public abstract void response(String returnKey); |
65 | |
66 public abstract void quickPeek(Receiver receiver, CodeSegment cs); | |
67 public abstract void quickTake(Receiver receiver, CodeSegment cs); | |
68 | |
69 | |
70 | 69 |
71 } | 70 } |