1 package org
.argeo
.slc
.detached
.drivers
;
3 import org
.argeo
.slc
.detached
.DetachedAnswer
;
4 import org
.argeo
.slc
.detached
.DetachedDriver
;
5 import org
.argeo
.slc
.detached
.DetachedExecutionServer
;
6 import org
.argeo
.slc
.detached
.DetachedRequest
;
8 public abstract class AbstractDriver
implements DetachedDriver
{
9 private boolean active
= true;
10 private DetachedExecutionServer executionServer
= null;
12 public synchronized void start() {
14 Thread driverThread
= new Thread(new Runnable() {
19 DetachedRequest request
= receiveRequest();
22 DetachedAnswer answer
= executionServer
23 .executeStep(request
);
25 } catch (Exception e
) {
26 if (e
instanceof RuntimeException
)
27 throw (RuntimeException
) e
;
39 public void setExecutionServer(DetachedExecutionServer executionServer
) {
40 this.executionServer
= executionServer
;
43 public synchronized void stop() {
48 public synchronized boolean isActive() {
52 public synchronized void setActive(boolean active
) {