Datastore: Reuse successful future
authorRobert Varga <rovarga@cisco.com>
Tue, 2 Sep 2014 09:25:51 +0000 (11:25 +0200)
committerRobert Varga <rovarga@cisco.com>
Tue, 2 Sep 2014 09:29:38 +0000 (11:29 +0200)
ImmediateFuture does not keep any state, so we can reuse a single
instance, preventing garbage buildup just a tiny bit.

Change-Id: I200662a666f4529ea82a2ac3948be9536ca32281
Signed-off-by: Robert Varga <rovarga@cisco.com>
opendaylight/md-sal/sal-inmemory-datastore/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java

index 238e32e60fec6884ee961aaa0d9e2e568c1c9a2b..e7bf52e35b1595d9df2e8110b190e3e38ac91943 100644 (file)
@@ -68,6 +68,7 @@ import org.slf4j.LoggerFactory;
 public class InMemoryDOMDataStore implements DOMStore, Identifiable<String>, SchemaContextListener,
         TransactionReadyPrototype,AutoCloseable {
     private static final Logger LOG = LoggerFactory.getLogger(InMemoryDOMDataStore.class);
+    private static final ListenableFuture<Void> SUCCESSFUL_FUTURE = Futures.immediateFuture(null);
 
     private static final Invoker<DataChangeListenerRegistration<?>, DOMImmutableDataChangeEvent> DCL_NOTIFICATION_MGR_INVOKER =
             new Invoker<DataChangeListenerRegistration<?>, DOMImmutableDataChangeEvent>() {
@@ -382,7 +383,7 @@ public class InMemoryDOMDataStore implements DOMStore, Identifiable<String>, Sch
         @Override
         public ListenableFuture<Void> abort() {
             candidate = null;
-            return Futures.immediateFuture(null);
+            return SUCCESSFUL_FUTURE;
         }
 
         @Override
@@ -398,7 +399,7 @@ public class InMemoryDOMDataStore implements DOMStore, Identifiable<String>, Sch
                 listenerResolver.resolve(dataChangeListenerNotificationManager);
             }
 
-            return Futures.immediateFuture(null);
+            return SUCCESSFUL_FUTURE;
         }
     }
 }