summaryrefslogtreecommitdiffstats
path: root/config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java
diff options
context:
space:
mode:
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.java48
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);
+
}
}