X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=benchmark%2Frpcbenchmark%2Fsrc%2Fmain%2Fjava%2Frpcbenchmark%2Fimpl%2FGlobalBindingRTCServer.java;h=67fde76865771b5d5135d0d2bf800092afeaa54f;hp=0eaf10dbee2335f3107613085cbd58d74b4aaee1;hb=d357d50baf588218ed755be73f28892129ed2601;hpb=2bf2e52f7001e81608c8219f35a1bf4f637aa5f1 diff --git a/benchmark/rpcbenchmark/src/main/java/rpcbenchmark/impl/GlobalBindingRTCServer.java b/benchmark/rpcbenchmark/src/main/java/rpcbenchmark/impl/GlobalBindingRTCServer.java index 0eaf10dbee..67fde76865 100644 --- a/benchmark/rpcbenchmark/src/main/java/rpcbenchmark/impl/GlobalBindingRTCServer.java +++ b/benchmark/rpcbenchmark/src/main/java/rpcbenchmark/impl/GlobalBindingRTCServer.java @@ -5,53 +5,28 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package rpcbenchmark.impl; -import java.util.concurrent.Future; - -import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.GlobalRpcBenchInput; -import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.GlobalRpcBenchOutput; -import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.GlobalRpcBenchOutputBuilder; -import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RoutedRpcBenchInput; -import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RoutedRpcBenchOutput; -import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RoutedRpcBenchOutputBuilder; +import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RpcbenchPayloadService; -import org.opendaylight.yangtools.yang.common.RpcResult; -import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +import org.opendaylight.yangtools.concepts.Registration; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.util.concurrent.Futures; - -public class GlobalBindingRTCServer implements RpcbenchPayloadService { - +final class GlobalBindingRTCServer extends AbstractRpcbenchPayloadService implements AutoCloseable { private static final Logger LOG = LoggerFactory.getLogger(GlobalBindingRTCServer.class); - private int numRpcs = 0; - public GlobalBindingRTCServer() { - LOG.info("GlobalBindingRTCServer created."); - } + private final Registration reg; - @Override - public Future> globalRpcBench( - GlobalRpcBenchInput input) { - GlobalRpcBenchOutput output = new GlobalRpcBenchOutputBuilder(input).build(); - RpcResult result = RpcResultBuilder.success(output).build(); - numRpcs++; - return Futures.immediateFuture(result); + GlobalBindingRTCServer(@Reference final RpcProviderService rpcProvider) { + reg = rpcProvider.registerRpcImplementation(RpcbenchPayloadService.class, this); + LOG.debug("GlobalBindingRTCServer started"); } @Override - public Future> routedRpcBench( - RoutedRpcBenchInput input) { - RoutedRpcBenchOutput output = new RoutedRpcBenchOutputBuilder(input).build(); - RpcResult result = RpcResultBuilder.success(output).build(); - numRpcs++; - return Futures.immediateFuture(result); - } - - public int getNumRpcs() { - return numRpcs; + public void close() { + reg.close(); + LOG.debug("GlobalBindingRTCServer stopped"); } }