BUG-1075: ingress back pressure
[openflowplugin.git] / openflowplugin / src / main / java / org / opendaylight / openflowplugin / openflow / md / core / ConnectionConductor.java
index fec9ea98e695e14eaed7899c4d9e596cdb25d60d..e5720cb90d7ec8ed8d2bea0526eaa53b7350a542 100644 (file)
@@ -8,18 +8,21 @@
 
 package org.opendaylight.openflowplugin.openflow.md.core;
 
+import java.util.List;
 import java.util.concurrent.Future;
 
+import org.opendaylight.openflowjava.protocol.api.connection.ConnectionAdapter;
 import org.opendaylight.openflowplugin.openflow.md.core.session.SessionContext;
+import org.opendaylight.openflowplugin.openflow.md.queue.QueueProcessor;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+
+import com.google.common.collect.Lists;
 
 
 /**
  * @author mirehak
  */
-/**
- * @author mirehak
- *
- */
 public interface ConnectionConductor {
 
     /** distinguished connection states */
@@ -34,6 +37,9 @@ public interface ConnectionConductor {
         RIP
     }
 
+    /** supported version ordered by height (highest version is at the beginning) */
+    public static final List<Short> versionOrder = Lists.newArrayList((short) 0x04, (short) 0x01);
+
     /**
      * initialize wiring around {@link #connectionAdapter}
      */
@@ -82,4 +88,26 @@ public interface ConnectionConductor {
      * @return the auxiliaryKey (null if this is a primary connection)
      */
     public SwitchConnectionDistinguisher getAuxiliaryKey();
+
+    /**
+     * @return the connectionAdapter
+     */
+    public ConnectionAdapter getConnectionAdapter();
+
+    /**
+     * assign global queueKeeper
+     * @param queueKeeper
+     */
+    void setQueueProcessor(QueueProcessor<OfHeader, DataObject> queueKeeper);
+
+    /**
+     * @param errorHandler for internal exception handling
+     */
+    void setErrorHandler(ErrorHandler errorHandler);
+
+    /**
+     * @param conductorId
+     */
+    void setId(int conductorId);
+
 }