* 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.openflowplugin.api.openflow.device;
-import com.google.common.util.concurrent.ListenableFuture;
-import io.netty.util.Timeout;
import java.util.List;
-import javax.annotation.Nonnull;
-import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
+import org.opendaylight.mdsal.binding.api.NotificationPublishService;
import org.opendaylight.openflowplugin.api.openflow.OFPContext;
import org.opendaylight.openflowplugin.api.openflow.connection.ConnectionContext;
import org.opendaylight.openflowplugin.api.openflow.device.handlers.DeviceReplyProcessor;
import org.opendaylight.openflowplugin.api.openflow.device.handlers.MultiMsgCollector;
import org.opendaylight.openflowplugin.api.openflow.lifecycle.ContextChainStateListener;
-import org.opendaylight.openflowplugin.api.openflow.registry.ItemLifeCycleRegistry;
import org.opendaylight.openflowplugin.api.openflow.statistics.ofpspecific.MessageSpy;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.role.service.rev150727.SalRoleService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.role.service.rev150727.SetRoleOutput;
-import org.opendaylight.yangtools.yang.common.RpcResult;
/**
* The central entity of OFP is the Device Context, which encapsulate the logical state of a switch
/**
* Getter.
+ *
* @return current devices connection context
*/
ConnectionContext getPrimaryConnectionContext();
/**
* Getter.
+ *
* @return translator library
*/
TranslatorLibrary oook();
/**
- * store cancellable timeout handler of currently running barrier task.
+ * Sets notification publish service.
+ *
+ * @param notificationPublishService the notification publish service
*/
- void setCurrentBarrierTimeout(Timeout timeout);
+ void setNotificationPublishService(NotificationPublishService notificationPublishService);
/**
- * Getter.
- * @return cancellable timeout handle of currently running barrier task
+ * Gets message spy.
+ *
+ * @return the message spy
*/
- Timeout getBarrierTaskTimeout();
-
- void setNotificationPublishService(NotificationPublishService notificationPublishService);
-
MessageSpy getMessageSpy();
+ /**
+ * Gets multi msg collector.
+ *
+ * @param <T> the type parameter
+ * @param requestContext the request context
+ * @return the multi msg collector
+ */
<T extends OfHeader> MultiMsgCollector<T> getMultiMsgCollector(RequestContext<List<T>> requestContext);
/**
- * indicates that device context is fully published (e.g.: packetIn messages should be passed).
+ * Indicates that device context is fully published (e.g.: packetIn messages should be passed).
*/
void onPublished();
void updatePacketInRateLimit(long upperBound);
/**
- * Getter.
- * @return registry point for item life cycle sources of device
- */
- ItemLifeCycleRegistry getItemLifeCycleSourceRegistry();
-
- void setSwitchFeaturesMandatory(boolean switchFeaturesMandatory);
-
- /**
- * Setter for sal role service.
- * @param salRoleService Role Service
+ * Checks if device and controller supports single layer serialization.
+ * @return true if single layer serialization is supported
*/
- void setSalRoleService(@Nonnull SalRoleService salRoleService);
+ boolean canUseSingleLayerSerialization();
/**
- * Make device slave.
- * @return listenable future from sal role service
+ * Method for initial submit transaction after successful initial gathering.
*/
- ListenableFuture<RpcResult<SetRoleOutput>> makeDeviceSlave();
-
- boolean canUseSingleLayerSerialization();
+ boolean initialSubmitTransaction();
}