BUG-956 deadlock by rpc invocation - phase2
[openflowplugin.git] / openflowplugin / src / main / java / org / opendaylight / openflowplugin / openflow / md / core / session / SessionManager.java
index 19c9180c8e5b806629dbff3f3f4f051b3483edce..6e16b6eb7d10caee2e4953dd0edcc1008096feeb 100644 (file)
@@ -11,7 +11,6 @@ package org.opendaylight.openflowplugin.openflow.md.core.session;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.ExecutorService;
 
 import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
 import org.opendaylight.controller.sal.binding.api.data.DataProviderService;
@@ -25,6 +24,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 
+import com.google.common.util.concurrent.ListeningExecutorService;
+
 /**
  * @author mirehak
  */
@@ -35,14 +36,14 @@ public interface SessionManager extends AutoCloseable {
      * @return corresponding conductor, holding {@link ConnectionAdapter} to
      *         primary connection
      */
-    public SessionContext getSessionContext(SwitchConnectionDistinguisher sessionKey);
+    public SessionContext getSessionContext(SwitchSessionKeyOF sessionKey);
 
     /**
      * disconnect all underlying {@link ConnectionAdapter}s and notify listeners
      *
      * @param sessionKey
      */
-    public void invalidateSessionContext(SwitchConnectionDistinguisher sessionKey);
+    public void invalidateSessionContext(SwitchSessionKeyOF sessionKey);
 
     /**
      * register session context
@@ -50,7 +51,7 @@ public interface SessionManager extends AutoCloseable {
      * @param sessionKey
      * @param context
      */
-    public void addSessionContext(SwitchConnectionDistinguisher sessionKey, SessionContext context);
+    public void addSessionContext(SwitchSessionKeyOF sessionKey, SessionContext context);
 
     /**
      * disconnect particular auxiliary {@link ConnectionAdapter}, identified by
@@ -59,7 +60,7 @@ public interface SessionManager extends AutoCloseable {
      * @param sessionKey
      * @param connectionCookie
      */
-    public void invalidateAuxiliary(SwitchConnectionDistinguisher sessionKey,
+    public void invalidateAuxiliary(SwitchSessionKeyOF sessionKey,
             SwitchConnectionDistinguisher connectionCookie);
 
     /**
@@ -116,10 +117,10 @@ public interface SessionManager extends AutoCloseable {
     /**
      * @param newFixedThreadPool
      */
-    void setRpcPool(ExecutorService newFixedThreadPool);
+    void setRpcPool(ListeningExecutorService newFixedThreadPool);
 
     /**
      * @return the rpcPool instance
      */
-    ExecutorService getRpcPool();
+    ListeningExecutorService getRpcPool();
 }