import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.infrautils.utils.concurrent.LoggingFutures;
+import org.opendaylight.mdsal.binding.api.NotificationService.Listener;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.Table;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingListener;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketReceived;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.TransmitPacketInput;
/**
* Simple Learning Switch implementation which does mac learning for one switch.
*/
-public class LearningSwitchHandlerSimpleImpl implements LearningSwitchHandler, PacketProcessingListener {
+public class LearningSwitchHandlerSimpleImpl implements LearningSwitchHandler, Listener<PacketReceived> {
private static final Logger LOG = LoggerFactory.getLogger(LearningSwitchHandlerSimpleImpl.class);
private static final byte[] ETH_TYPE_IPV4 = new byte[] { 0x08, 0x00 };
}
@Override
- public void onPacketReceived(PacketReceived notification) {
+ public void onNotification(PacketReceived notification) {
if (!isLearning) {
// ignoring packets - this should not happen
return;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketReceived;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.concepts.Registration;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
*/
@Override
public void setDataBroker(DataBroker broker) {
- this.data = broker;
+ data = broker;
}
/**
LearningSwitchHandlerSimpleImpl learningSwitchHandler = new LearningSwitchHandlerSimpleImpl(dataStoreAccessor,
packetProcessingService, this);
- packetInRegistration = notificationService.registerNotificationListener(learningSwitchHandler);
+ packetInRegistration = notificationService.registerListener(PacketReceived.class, learningSwitchHandler);
WakeupOnNode wakeupListener = new WakeupOnNode();
wakeupListener.setLearningSwitchHandler(learningSwitchHandler);
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingService;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketReceived;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.concepts.Registration;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
*/
@Override
public void setDataBroker(DataBroker broker) {
- this.data = broker;
+ data = broker;
}
/**
PacketInDispatcherImpl packetInDispatcher = new PacketInDispatcherImpl();
MultipleLearningSwitchHandlerFacadeImpl learningSwitchHandler = new MultipleLearningSwitchHandlerFacadeImpl(
dataStoreAccessor, packetProcessingService, packetInDispatcher);
- packetInRegistration = notificationService.registerNotificationListener(packetInDispatcher);
+ packetInRegistration = notificationService.registerListener(PacketReceived.class, packetInDispatcher);
WakeupOnNode wakeupListener = new WakeupOnNode();
wakeupListener.setLearningSwitchHandler(learningSwitchHandler);
import java.util.HashMap;
import java.util.Map;
+import org.opendaylight.mdsal.binding.api.NotificationService.Listener;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketProcessingListener;
import org.opendaylight.yang.gen.v1.urn.opendaylight.packet.service.rev130709.PacketReceived;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-public class PacketInDispatcherImpl implements PacketProcessingListener {
-
- private final Map<InstanceIdentifier<Node>, PacketProcessingListener> handlerMapping;
-
- /**
- * default constructor.
- */
- public PacketInDispatcherImpl() {
- handlerMapping = new HashMap<>();
- }
+public class PacketInDispatcherImpl implements Listener<PacketReceived> {
+ private final Map<InstanceIdentifier<Node>, Listener<PacketReceived>> handlerMapping = new HashMap<>();
@Override
- public void onPacketReceived(PacketReceived notification) {
+ public void onNotification(PacketReceived notification) {
// find corresponding handler
/*
* Notification contains reference to ingress port
/**
* We lookup up the the packet-in listener for this node.
*/
- PacketProcessingListener nodeHandler = handlerMapping.get(nodeOfPacket);
+ Listener<PacketReceived> nodeHandler = handlerMapping.get(nodeOfPacket);
/**
* If we have packet-processing listener, we delegate notification.
*/
if (nodeHandler != null) {
- nodeHandler.onPacketReceived(notification);
+ nodeHandler.onNotification(notification);
}
}
- public Map<InstanceIdentifier<Node>, PacketProcessingListener> getHandlerMapping() {
+ public Map<InstanceIdentifier<Node>, Listener<PacketReceived>> getHandlerMapping() {
return handlerMapping;
}
}