diff options
Diffstat (limited to 'config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java')
-rw-r--r-- | config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java | 48 |
1 files changed, 8 insertions, 40 deletions
diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java b/config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java index 6446758a9ba..24a080d5824 100644 --- a/config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java +++ b/config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java @@ -40,10 +40,7 @@ public class MockConnection implements ConnectionPool, Connection { public void invokeAsync(Request request, double jrtTimeout, RequestWaiter requestWaiter) { numberOfRequests++; lastRequest = request; - responseHandler.requestWaiter(requestWaiter).request(request); - Thread t = new Thread(responseHandler); - t.setDaemon(true); - t.run(); + responseHandler.handle(request, requestWaiter); } @Override @@ -85,7 +82,7 @@ public class MockConnection implements ConnectionPool, Connection { long generation = 1; - protected void createResponse() { + protected void createResponse(Request request) { JRTServerConfigRequestV3 jrtReq = JRTServerConfigRequestV3.createFromRequest(request); Payload payload = Payload.from(ConfigPayload.empty()); jrtReq.addOkResponse(payload, generation, false, PayloadChecksums.fromPayload(payload)); @@ -94,51 +91,22 @@ public class MockConnection implements ConnectionPool, Connection { } - public interface ResponseHandler extends Runnable { + public interface ResponseHandler { - RequestWaiter requestWaiter(); + void handle(Request request, RequestWaiter requestWaiter); - Request request(); - - ResponseHandler requestWaiter(RequestWaiter requestWaiter); - - ResponseHandler request(Request request); } public abstract static class AbstractResponseHandler implements ResponseHandler { - private RequestWaiter requestWaiter; - protected Request request; - - @Override - public RequestWaiter requestWaiter() { - return requestWaiter; - } - - @Override - public Request request() { - return request; - } - - @Override - public ResponseHandler requestWaiter(RequestWaiter requestWaiter) { - this.requestWaiter = requestWaiter; - return this; - } - @Override - public ResponseHandler request(Request request) { - this.request = request; - return this; - } - - @Override - public void run() { - createResponse(); + public void handle(Request request, RequestWaiter requestWaiter) { + createResponse(request); requestWaiter.handleRequestDone(request); } - protected abstract void createResponse(); + protected abstract void createResponse(Request request); + } } |