]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.detached/src/main/java/org/argeo/slc/detached/drivers/MemoryDriver.java
support.jemmy: PopupMenuActuator added,
[gpl/argeo-slc.git] / runtime / org.argeo.slc.detached / src / main / java / org / argeo / slc / detached / drivers / MemoryDriver.java
1 package org.argeo.slc.detached.drivers;
2
3 import org.argeo.slc.detached.DetachedAnswer;
4 import org.argeo.slc.detached.DetachedClient;
5 import org.argeo.slc.detached.DetachedRequest;
6
7 public class MemoryDriver extends AbstractDriver implements DetachedClient {
8 private DetachedRequest currentRequest = null;
9 private DetachedAnswer currentAnswer = null;
10
11 // DRIVER
12 public synchronized DetachedRequest receiveRequest() throws Exception {
13 while (currentRequest == null)
14 this.wait(500);
15 return currentRequest;
16 }
17
18 public synchronized void sendAnswer(DetachedAnswer answer) throws Exception {
19 currentAnswer = answer;
20 this.notify();
21 }
22
23 // CLIENT
24 public synchronized DetachedAnswer receiveAnswer() throws Exception {
25 while (currentAnswer == null)
26 this.wait(500);
27 DetachedAnswer answer = currentAnswer;
28 currentAnswer = null;
29 currentRequest = null;
30 return answer;
31 }
32
33 public synchronized void sendRequest(DetachedRequest request)
34 throws Exception {
35 currentRequest = request;
36 this.notify();
37 }
38
39 }