package org.opendaylight.openflowplugin.api.openflow.device;
import com.google.common.util.concurrent.ListenableFuture;
-import io.netty.util.Timeout;
-import java.math.BigInteger;
import java.util.List;
import javax.annotation.Nonnull;
import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
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.LifecycleService;
+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;
DeviceReplyProcessor,
TxFacade,
DeviceRegistry,
- RequestContextStack {
-
- /**
- * Method close all auxiliary connections and primary connection.
- */
- void shutdownConnection();
-
- /**
- * Method add auxiliary connection contexts to this context representing single device connection.
- * @param connectionContext new connection context
- */
- void addAuxiliaryConnectionContext(ConnectionContext connectionContext);
-
- /**
- * Method removes auxiliary connection context from this context representing single device connection.
- * @param connectionContext connection which need to be removed
- */
- void removeAuxiliaryConnectionContext(ConnectionContext connectionContext);
+ RequestContextStack,
+ ContextChainStateListener {
/**
* Method provides state of device represented by this device context.
*/
DeviceState getDeviceState();
- /**
- * Method has to close TxManager ASAP we are notified about Closed Connection.
- * @return sync. future for Slave and MD-SAL completition for Master
- */
- ListenableFuture<Void> shuttingDownDataStoreTransactions();
-
/**
* Getter.
* @return current devices connection context
*/
ConnectionContext getPrimaryConnectionContext();
- /**
- * Getter.
- * @return current devices auxiliary connection contexts
- */
- ConnectionContext getAuxiliaryConnectionContexts(BigInteger cookie);
-
-
/**
* Getter.
* @return translator library
*/
TranslatorLibrary oook();
- /**
- * store cancellable timeout handler of currently running barrier task.
- */
- void setCurrentBarrierTimeout(Timeout timeout);
-
- /**
- * Getter.
- * @return cancellable timeout handle of currently running barrier task
- */
- Timeout getBarrierTaskTimeout();
-
void setNotificationPublishService(NotificationPublishService notificationPublishService);
MessageSpy getMessageSpy();
- <T extends OfHeader> MultiMsgCollector<T> getMultiMsgCollector(final RequestContext<List<T>> requestContext);
+ <T extends OfHeader> MultiMsgCollector<T> getMultiMsgCollector(RequestContext<List<T>> requestContext);
/**
* indicates that device context is fully published (e.g.: packetIn messages should be passed).
*/
ItemLifeCycleRegistry getItemLifeCycleSourceRegistry();
- void setSwitchFeaturesMandatory(boolean switchFeaturesMandatory);
-
- void putLifecycleServiceIntoTxChainManager(LifecycleService lifecycleService);
-
- void replaceConnectionContext(ConnectionContext connectionContext);
-
- boolean isSkipTableFeatures();
-
/**
* Setter for sal role service.
* @param salRoleService Role Service
*/
- void setSalRoleService(@Nonnull final SalRoleService salRoleService);
+ void setSalRoleService(@Nonnull SalRoleService salRoleService);
/**
* Make device slave.
ListenableFuture<RpcResult<SetRoleOutput>> makeDeviceSlave();
boolean canUseSingleLayerSerialization();
-
- void sendNodeAddedNotification();
-
- void sendNodeRemovedNotification();
}