diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-03-28 15:56:52 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-03-28 15:56:52 +0100 |
commit | fba4121dd92f56716c97a15b24628e3dd9a503f9 (patch) | |
tree | bed9ccf7082baa8586131af7370824586eab4da1 /logserver/src | |
parent | 2b1dd4b48f93ee69aa4f03635dc88f516578b78d (diff) |
Make RpcServer independent of ArchiveLogMessagesMethod
Diffstat (limited to 'logserver/src')
-rw-r--r-- | logserver/src/main/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethod.java | 6 | ||||
-rw-r--r-- | logserver/src/main/java/ai/vespa/logserver/protocol/RpcServer.java | 9 | ||||
-rw-r--r-- | logserver/src/main/java/com/yahoo/logserver/Server.java | 4 | ||||
-rw-r--r-- | logserver/src/test/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethodTest.java (renamed from logserver/src/test/java/ai/vespa/logserver/protocol/RpcServerTest.java) | 5 |
4 files changed, 15 insertions, 9 deletions
diff --git a/logserver/src/main/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethod.java b/logserver/src/main/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethod.java index 15ee83f9a15..9d234b73692 100644 --- a/logserver/src/main/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethod.java +++ b/logserver/src/main/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethod.java @@ -19,7 +19,7 @@ import java.util.logging.Logger; * * @author bjorncs */ -class ArchiveLogMessagesMethod { +public class ArchiveLogMessagesMethod { static final String METHOD_NAME = "vespa.logserver.archiveLogMessages"; @@ -29,7 +29,7 @@ class ArchiveLogMessagesMethod { private final LogDispatcher logDispatcher; private final Method method; - ArchiveLogMessagesMethod(LogDispatcher logDispatcher) { + public ArchiveLogMessagesMethod(LogDispatcher logDispatcher) { this.logDispatcher = logDispatcher; this.method = new Method(METHOD_NAME, "bix", "bix", this::log) .methodDesc("Archive log messages") @@ -41,7 +41,7 @@ class ArchiveLogMessagesMethod { .returnDesc(2, "logResponse", "Log response encoded with protobuf"); } - Method methodDefinition() { + public Method methodDefinition() { return method; } diff --git a/logserver/src/main/java/ai/vespa/logserver/protocol/RpcServer.java b/logserver/src/main/java/ai/vespa/logserver/protocol/RpcServer.java index 55d9c2d2940..b3860da6fb7 100644 --- a/logserver/src/main/java/ai/vespa/logserver/protocol/RpcServer.java +++ b/logserver/src/main/java/ai/vespa/logserver/protocol/RpcServer.java @@ -3,10 +3,10 @@ package ai.vespa.logserver.protocol; import com.yahoo.jrt.Acceptor; import com.yahoo.jrt.ListenFailedException; +import com.yahoo.jrt.Method; import com.yahoo.jrt.Spec; import com.yahoo.jrt.Supervisor; import com.yahoo.jrt.Transport; -import com.yahoo.logserver.LogDispatcher; /** * A JRT based RPC server for handling log requests @@ -19,9 +19,12 @@ public class RpcServer implements AutoCloseable { private final int listenPort; private Acceptor acceptor; - public RpcServer(int listenPort, LogDispatcher logDispatcher) { + public RpcServer(int listenPort) { this.listenPort = listenPort; - supervisor.addMethod(new ArchiveLogMessagesMethod(logDispatcher).methodDefinition()); + } + + public void addMethod(Method method) { + supervisor.addMethod(method); } public void start() { diff --git a/logserver/src/main/java/com/yahoo/logserver/Server.java b/logserver/src/main/java/com/yahoo/logserver/Server.java index efccf1d8f83..68ab8be2fba 100644 --- a/logserver/src/main/java/com/yahoo/logserver/Server.java +++ b/logserver/src/main/java/com/yahoo/logserver/Server.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.logserver; +import ai.vespa.logserver.protocol.ArchiveLogMessagesMethod; import ai.vespa.logserver.protocol.RpcServer; import com.yahoo.io.FatalErrorHandler; import com.yahoo.io.Listener; @@ -127,7 +128,8 @@ public class Server implements Runnable { listener = new Listener(APPNAME); listener.addSelectLoopPostHook(dispatch); listener.setFatalErrorHandler(fatalErrorHandler); - rpcServer = new RpcServer(rpcListenPort, dispatch); + rpcServer = new RpcServer(rpcListenPort); + rpcServer.addMethod(new ArchiveLogMessagesMethod(dispatch).methodDefinition()); } /** diff --git a/logserver/src/test/java/ai/vespa/logserver/protocol/RpcServerTest.java b/logserver/src/test/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethodTest.java index 321c21915fc..a30df6bb050 100644 --- a/logserver/src/test/java/ai/vespa/logserver/protocol/RpcServerTest.java +++ b/logserver/src/test/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethodTest.java @@ -28,7 +28,7 @@ import static org.mockito.Mockito.verify; /** * @author bjorncs */ -public class RpcServerTest { +public class ArchiveLogMessagesMethodTest { private static final LogMessage MESSAGE_1 = LogMessage.of(Instant.EPOCH.plus(1000, ChronoUnit.DAYS), "localhost", 12, 3456, "my-service", "my-component", LogLevel.ERROR, "My error message"); @@ -39,7 +39,8 @@ public class RpcServerTest { public void server_dispatches_log_messages_from_log_request() { List<LogMessage> messages = List.of(MESSAGE_1, MESSAGE_2); LogDispatcher logDispatcher = mock(LogDispatcher.class); - try (RpcServer server = new RpcServer(0, logDispatcher)) { + try (RpcServer server = new RpcServer(0)) { + server.addMethod(new ArchiveLogMessagesMethod(logDispatcher).methodDefinition()); server.start(); try (TestClient client = new TestClient(server.listenPort())) { client.logMessages(messages); |