Clean up RaftActorContextImpl formatting
[controller.git] / benchmark / rpcbenchmark / src / main / java / rpcbenchmark / impl / RoutedBindingRTClient.java
index ab03fb2a5ef8418dbeceebc7ae6e532ad0dacded..4eacf527d74094474e78c28394158e421d5d8b1c 100644 (file)
@@ -10,46 +10,45 @@ package rpcbenchmark.impl;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
 import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.atomic.AtomicLong;
-import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry;
+import org.opendaylight.mdsal.binding.api.RpcService;
+import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RoutedRpcBench;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RoutedRpcBenchInput;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RoutedRpcBenchInputBuilder;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RoutedRpcBenchOutput;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RoutedRpcBenchInput;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RoutedRpcBenchInputBuilder;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RoutedRpcBenchOutput;
-import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.RpcbenchPayloadService;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.payload.Payload;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.payload.PayloadBuilder;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.payload.Payload;
 import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.payload.PayloadBuilder;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yang.gen.v1.rpcbench.payload.rev150702.payload.PayloadKey;
+import org.opendaylight.yangtools.binding.DataObjectIdentifier;
+import org.opendaylight.yangtools.binding.util.BindingMap;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class RoutedBindingRTClient implements RTCClient {
     private static final Logger LOG = LoggerFactory.getLogger(RoutedBindingRTClient.class);
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class RoutedBindingRTClient implements RTCClient {
     private static final Logger LOG = LoggerFactory.getLogger(RoutedBindingRTClient.class);
-    private final RpcbenchPayloadService service;
+    private final RoutedRpcBench routedRpcBench;
     private final AtomicLong rpcOk = new AtomicLong(0);
     private final AtomicLong rpcError = new AtomicLong(0);
     private final AtomicLong rpcOk = new AtomicLong(0);
     private final AtomicLong rpcError = new AtomicLong(0);
-    private final List<RoutedRpcBenchInput> inVal;
+    private final List<RoutedRpcBenchInput> inVal = new ArrayList<>();
     private final int inSize;
 
     private final int inSize;
 
-    public RoutedBindingRTClient(final RpcConsumerRegistry registry, final int inSize,
-            final List<InstanceIdentifier<?>> routeIid) {
-        if (registry != null) {
-            this.service = registry.getRpcService(RpcbenchPayloadService.class);
-        } else {
-            this.service = null;
-        }
+    public RoutedBindingRTClient(final RpcService rpcService, final int inSize,
+            final List<DataObjectIdentifier<?>> routeIid) {
+        routedRpcBench = rpcService.getRpc(RoutedRpcBench.class);
         this.inSize = inSize;
         this.inSize = inSize;
-        this.inVal = new ArrayList<>();
 
 
-        List<Payload> listVals = new ArrayList<>();
+        final var listVals = BindingMap.<PayloadKey, Payload>orderedBuilder(inSize);
         for (int i = 0; i < inSize; i++) {
         for (int i = 0; i < inSize; i++) {
-            listVals.add(new PayloadBuilder().setId(i).build());
+            listVals.add(new PayloadBuilder().withKey(new PayloadKey(i)).build());
         }
 
         }
 
-        for (InstanceIdentifier<?> iid : routeIid) {
-            inVal.add(new RoutedRpcBenchInputBuilder().setNode(iid).setPayload(listVals).build());
+        for (var iid : routeIid) {
+            inVal.add(new RoutedRpcBenchInputBuilder()
+                .setNode(iid)
+                .setPayload(listVals.build())
+                .build());
         }
 
     }
         }
 
     }
@@ -71,23 +70,25 @@ public class RoutedBindingRTClient implements RTCClient {
 
         int rpcServerCnt = inVal.size();
         for (int i = 0; i < iterations; i++) {
 
         int rpcServerCnt = inVal.size();
         for (int i = 0; i < iterations; i++) {
-            RoutedRpcBenchInput input = inVal.get(ThreadLocalRandom.current().nextInt(rpcServerCnt));
-            Future<RpcResult<RoutedRpcBenchOutput>> output = service.routedRpcBench(input);
+            final var input = inVal.get(ThreadLocalRandom.current().nextInt(rpcServerCnt));
+            final var future = routedRpcBench.invoke(input);
+            final RpcResult<RoutedRpcBenchOutput> rpcResult;
             try {
             try {
-                RpcResult<RoutedRpcBenchOutput> rpcResult = output.get();
-
-                if (rpcResult.isSuccessful()) {
-                    List<Payload> retVal = rpcResult.getResult().getPayload();
-                    if (retVal.size() == inSize) {
-                        ok++;
-                    }
-                    else {
-                        error++;
-                    }
-                }
+                rpcResult = future.get();
             } catch (InterruptedException | ExecutionException e) {
                 error++;
                 LOG.error("Execution failed: ", e);
             } catch (InterruptedException | ExecutionException e) {
                 error++;
                 LOG.error("Execution failed: ", e);
+                continue;
+            }
+
+            if (rpcResult.isSuccessful()) {
+                final var retVal = rpcResult.getResult().getPayload();
+                if (retVal.size() == inSize) {
+                    ok++;
+                }
+                else {
+                    error++;
+                }
             }
         }
 
             }
         }