BUG-3907: openflow-plugin-api does not build with jdk8
[openflowjava.git] / openflow-protocol-api / src / main / java / org / opendaylight / openflowjava / protocol / api / connection / ConnectionAdapter.java
index 82b7a89667245fbf996d0de0d0d03cee9fbddbec..89cd461f05add5f9aaf5c56c0072e2b974d497b3 100644 (file)
@@ -5,13 +5,11 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
-
 package org.opendaylight.openflowjava.protocol.api.connection;
 
+import com.google.common.annotations.Beta;
 import java.net.InetSocketAddress;
 import java.util.concurrent.Future;
-
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OpenflowProtocolListener;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OpenflowProtocolService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.system.rev130927.SystemNotificationsListener;
@@ -59,8 +57,39 @@ public interface ConnectionAdapter extends OpenflowProtocolService {
 
     /**
      * set listener for connection became ready-to-use event
-     * @param connectionReadyListener
+     * @param connectionReadyListener listens to connection ready event
      */
     void setConnectionReadyListener(ConnectionReadyListener connectionReadyListener);
 
+    /**
+     * sets option for automatic channel reading;
+     * if set to false, incoming messages won't be read
+     *
+     * @param autoRead target value to be switched to
+     */
+    void setAutoRead(boolean autoRead);
+
+    /**
+     * @return true, if channel is configured to autoread
+     */
+    boolean isAutoRead();
+
+    /**
+     * Registers a new bypass outbound queue
+     * @param <T> handler type
+     * @param handler queue handler
+     * @param maxQueueDepth max amount of not confirmed messaged in queue (i.e. edge for barrier message)
+     * @param maxBarrierNanos regular base for barrier message
+     * @return An {@link OutboundQueueHandlerRegistration}
+     */
+    @Beta
+    <T extends OutboundQueueHandler> OutboundQueueHandlerRegistration<T> registerOutboundQueueHandler(T handler,
+        int maxQueueDepth, long maxBarrierNanos);
+
+    /**
+     * Set filtering of PacketIn messages. By default these messages are not filtered.
+     * @param enabled True if PacketIn messages should be filtered, false if they should be reported.
+     */
+    @Beta
+    void setPacketInFiltering(boolean enabled);
 }