diff options
Diffstat (limited to 'same/src/main/java/com/orbekk/same/benchmark/ExampleServer.java')
-rw-r--r-- | same/src/main/java/com/orbekk/same/benchmark/ExampleServer.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/same/src/main/java/com/orbekk/same/benchmark/ExampleServer.java b/same/src/main/java/com/orbekk/same/benchmark/ExampleServer.java new file mode 100644 index 0000000..9aa691d --- /dev/null +++ b/same/src/main/java/com/orbekk/same/benchmark/ExampleServer.java @@ -0,0 +1,42 @@ +package com.orbekk.same.benchmark; + +import org.apache.log4j.Logger; + +import com.google.protobuf.RpcCallback; +import com.google.protobuf.RpcController; +import com.orbekk.protobuf.SimpleProtobufServer; +import com.orbekk.same.benchmark.Example.Data; + +public class ExampleServer { + private final static Logger logger = + Logger.getLogger(ExampleServer.class); + private volatile SimpleProtobufServer server; + + class ServiceImpl extends Example.Service { + @Override + public void methodA(RpcController controller, Data request, RpcCallback<Data> done) { + Data response = Data.newBuilder() + .setMessage(request.getMessage()) + .setArg1(request.getArg1()) + .setArg2(request.getArg2()) + .build(); + done.run(response); + } + } + + public void runServer(int port) { + server = SimpleProtobufServer.create(port); + server.registerService(new ServiceImpl()); + server.start(); + logger.info("Running SimpleProtobufServer on port " + server.getPort()); + } + + public void stopServer() throws InterruptedException { + server.interrupt(); + } + + public static void main(String[] args) { + ExampleServer server = new ExampleServer(); + server.runServer(12000); + } +} |