import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.PortReason;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortReason;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import com.google.common.util.concurrent.SettableFuture;
import io.netty.util.HashedWheelTimer;
import io.netty.util.Timeout;
-import io.netty.util.TimerTask;
import java.math.BigInteger;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
-import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
import javax.annotation.Nonnull;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
this.dataBroker = Preconditions.checkNotNull(dataBroker);
this.hashedWheelTimer = Preconditions.checkNotNull(hashedWheelTimer);
xidGenerator = new XidGenerator();
- txChainManager = new TransactionChainManager(dataBroker, 500L);
+ txChainManager = new TransactionChainManager(dataBroker, hashedWheelTimer, 500L);
auxiliaryConnectionContexts = new HashMap<>();
requests = new HashMap<>();
deviceFlowRegistry = new DeviceFlowRegistryImpl();
void submitTransaction() {
txChainManager.submitTransaction();
txChainManager.enableCounter();
- hashedWheelTimer.newTimeout(new TimerTask() {
- @Override
- public void run(final Timeout timeout) throws Exception {
- submitTransaction();
- }
- }, 0, TimeUnit.MILLISECONDS);
}
@Override
final KeyedInstanceIdentifier<NodeConnector, NodeConnectorKey> iiToNodeConnector =
provideIIToNodeConnector(portStatus.getPortNo(), portStatus.getVersion());
- if (portStatus.getReason().equals(PortReason.Add) ) {
+ if (portStatus.getReason().equals(PortReason.OFPPRADD) ) {
// because of ADD status node connector has to be created
createNodeConnectorInDS(iiToNodeConnector);
- } else if (portStatus.getReason().equals(PortReason.Delete) ) {
+ } else if (portStatus.getReason().equals(PortReason.OFPPRDELETE) ) {
//only put operation over datastore is available. therefore delete is
//inserting of empty FlowCapableNodeConnector
flowCapableNodeConnector = new FlowCapableNodeConnectorBuilder().build();
final TranslatorKey translatorKey = new TranslatorKey(packetInMessage.getVersion(), PacketReceivedTranslator.class.getName());
final MessageTranslator<PacketInMessage, PacketReceived> messageTranslator = translatorLibrary.lookupTranslator(translatorKey);
final PacketReceived packetReceived = messageTranslator.translate(packetInMessage, this, null);
- //TODO publish to MD-SAL
+ notificationService.publish(packetReceived);
}
@Override