receiving packet ins
diff --git a/core/trivial/src/main/java/org/onlab/onos/net/trivial/packet/impl/SimplePacketManager.java b/core/trivial/src/main/java/org/onlab/onos/net/trivial/packet/impl/SimplePacketManager.java
index 2233c32..95d3664 100644
--- a/core/trivial/src/main/java/org/onlab/onos/net/trivial/packet/impl/SimplePacketManager.java
+++ b/core/trivial/src/main/java/org/onlab/onos/net/trivial/packet/impl/SimplePacketManager.java
@@ -2,7 +2,8 @@
import static org.slf4j.LoggerFactory.getLogger;
-import java.util.ArrayList;
+import java.util.Map;
+import java.util.TreeMap;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
@@ -39,7 +40,7 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
private DeviceService deviceService;
- private final ArrayList<PacketProcessor> processors = new ArrayList<>();
+ private final Map<Integer, PacketProcessor> processors = new TreeMap<>();
private final PacketProcessor reactiveProcessor = new ReactivePacketProcessor();
@@ -57,12 +58,12 @@
@Override
public void addProcessor(PacketProcessor processor, int priority) {
- processors.add(priority, processor);
+ processors.put(priority, processor);
}
@Override
public void removeProcessor(PacketProcessor processor) {
- processors.remove(processor);
+ processors.values().remove(processor);
}
@Override
@@ -89,7 +90,7 @@
@Override
public void processPacket(PacketContext context) {
- for (PacketProcessor processor : processors) {
+ for (PacketProcessor processor : processors.values()) {
processor.process(context);
}
}