Create and switch to a concurrent version of LispSouthboundStats
[lispflowmapping.git] / mappingservice / southbound / src / main / java / org / opendaylight / lispflowmapping / southbound / LispSouthboundRPC.java
index b423f0fef53066d5850ec854473859b6f1c9f5e2..6e32befde99b0789c8b13cad11f37b5f699c8410 100644 (file)
@@ -8,11 +8,11 @@
 
 package org.opendaylight.lispflowmapping.southbound;
 
+import com.google.common.util.concurrent.Futures;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.Future;
-
 import org.opendaylight.lispflowmapping.lisp.serializer.MapNotifySerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.MapRegisterSerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.MapReplySerializer;
@@ -35,8 +35,6 @@ import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.util.concurrent.Futures;
-
 /**
  * This class holds all RPCs methods for LispSouthbound Plugin.
  *
@@ -65,9 +63,9 @@ public class LispSouthboundRPC implements OdlLispSbService {
                     MessageType.MapNotify);
         } else {
             LOG.warn("MapNotify was null");
-            return Futures.immediateFuture(RpcResultBuilder.<Void> failed().build());
+            return Futures.immediateFuture(RpcResultBuilder.<Void>failed().build());
         }
-        return Futures.immediateFuture(RpcResultBuilder.<Void> success().build());
+        return Futures.immediateFuture(RpcResultBuilder.<Void>success().build());
     }
 
     @Override
@@ -79,9 +77,9 @@ public class LispSouthboundRPC implements OdlLispSbService {
                     MessageType.MapReply);
         } else {
             LOG.warn("MapReply was null");
-            return Futures.immediateFuture(RpcResultBuilder.<Void> failed().build());
+            return Futures.immediateFuture(RpcResultBuilder.<Void>failed().build());
         }
-        return Futures.immediateFuture(RpcResultBuilder.<Void> success().build());
+        return Futures.immediateFuture(RpcResultBuilder.<Void>success().build());
     }
 
     @Override
@@ -93,9 +91,9 @@ public class LispSouthboundRPC implements OdlLispSbService {
                     MessageType.MapRequest);
         } else {
             LOG.debug("MapRequest was null");
-            return Futures.immediateFuture(RpcResultBuilder.<Void> failed().build());
+            return Futures.immediateFuture(RpcResultBuilder.<Void>failed().build());
         }
-        return Futures.immediateFuture(RpcResultBuilder.<Void> success().build());
+        return Futures.immediateFuture(RpcResultBuilder.<Void>success().build());
     }
 
     @Override
@@ -107,9 +105,9 @@ public class LispSouthboundRPC implements OdlLispSbService {
                     MessageType.MapRegister);
         } else {
             LOG.debug("MapRegister was null");
-            return Futures.immediateFuture(RpcResultBuilder.<Void> failed().build());
+            return Futures.immediateFuture(RpcResultBuilder.<Void>failed().build());
         }
-        return Futures.immediateFuture(RpcResultBuilder.<Void> success().build());
+        return Futures.immediateFuture(RpcResultBuilder.<Void>success().build());
     }
 
     @Override
@@ -118,7 +116,7 @@ public class LispSouthboundRPC implements OdlLispSbService {
 
         RpcResultBuilder<GetStatsOutput> rpcResultBuilder;
 
-        LispSouthboundStats stats = lispSbPlugin.getStats();
+        ConcurrentLispSouthboundStats stats = lispSbPlugin.getStats();
 
         if (stats == null) {
             rpcResultBuilder = RpcResultBuilder.<GetStatsOutput>failed()
@@ -133,28 +131,28 @@ public class LispSouthboundRPC implements OdlLispSbService {
     public Future<RpcResult<Void>> resetStats() {
         LOG.trace("resetStats called!!");
 
-        LispSouthboundStats stats = lispSbPlugin.getStats();
+        ConcurrentLispSouthboundStats stats = lispSbPlugin.getStats();
 
         if (stats == null) {
-            return Futures.immediateFuture(RpcResultBuilder.<Void> failed()
+            return Futures.immediateFuture(RpcResultBuilder.<Void>failed()
                     .withError(RpcError.ErrorType.APPLICATION, "data-missing", "No stats found")
                     .build());
         } else {
             stats.resetStats();
-            return Futures.immediateFuture(RpcResultBuilder.<Void> success().build());
+            return Futures.immediateFuture(RpcResultBuilder.<Void>success().build());
         }
     }
 
-    private static GetStatsOutput createGetStatsOutput(LispSouthboundStats stats) {
-        long rxStats[] = stats.getRx();
-        long txStats[] = stats.getTx();
+    private static GetStatsOutput createGetStatsOutput(ConcurrentLispSouthboundStats stats) {
+        long[] rxStats = stats.getRx();
+        long[] txStats = stats.getTx();
 
         ControlMessageStatsBuilder cmsb = new ControlMessageStatsBuilder();
         cmsb.setRxUnknown(stats.getRxUnknown());
         cmsb.setTxErrors(stats.getTxErrors());
 
         List<ControlMessage> messages = new ArrayList<ControlMessage>();
-        for (int i = 0; i <= LispSouthboundStats.MAX_LISP_TYPES; i++) {
+        for (int i = 0; i <= ConcurrentLispSouthboundStats.MAX_LISP_TYPES; i++) {
             if (MessageType.forValue(i) == null) {
                 continue;
             }