Improvements to Intent Framework to allow intents to be installed end to end.
Change-Id: I7256e31c745e2c36270ab7f25378a94e20664c34
diff --git a/src/main/java/net/onrc/onos/core/matchaction/MatchActionComponent.java b/src/main/java/net/onrc/onos/core/matchaction/MatchActionComponent.java
index 0307d4c..3ee164f 100644
--- a/src/main/java/net/onrc/onos/core/matchaction/MatchActionComponent.java
+++ b/src/main/java/net/onrc/onos/core/matchaction/MatchActionComponent.java
@@ -50,7 +50,7 @@
private final BlockingQueue<MatchActionOperationsId> resolvedQueue = new ArrayBlockingQueue<>(100);
private final BlockingQueue<MatchActionOperations> installationWorkQueue = new ArrayBlockingQueue<>(100);
- private IEventChannel<String, MatchActionOperations> installSetChannel;
+ private IEventChannel<Long, MatchActionOperations> installSetChannel;
private IEventChannel<String, SwitchResultList> installSetReplyChannel;
private final IDatagridService datagrid;
@@ -88,23 +88,26 @@
matchActionOperationsIdGenerator =
new MatchActionOperationsIdGeneratorWithIdBlockAllocator(idBlockAllocator);
- installSetChannel = datagrid.createChannel("onos.matchaction.installSetChannel",
- String.class,
+ final Installer installerListener = new Installer();
+ installSetChannel = datagrid.addListener(
+ "onos.matchaction.installSetChannel",
+ installerListener,
+ Long.class,
MatchActionOperations.class);
- installSetReplyChannel = datagrid.createChannel("onos.matchaction.installSetReplyChannel",
+
+ final Coordinator coordinator = new Coordinator();
+ coordinator.start();
+ installSetReplyChannel = datagrid.addListener(
+ "onos.matchaction.installSetReplyChannel",
+ coordinator,
String.class,
SwitchResultList.class);
- final Thread coordinator = new Coordinator();
- coordinator.start();
-
// TODO Single instance for now, should be a work queue of some sort eventually
- final Thread installer = new InstallerWorker();
+ final InstallerWorker installer = new InstallerWorker();
installer.start();
- final Installer installerListener = new Installer();
- installerListener.start();
}
/**
@@ -175,7 +178,7 @@
* Default constructor.
*/
Coordinator() {
- installSetReplyChannel.addListener(this);
+ // nothing to initialize
}
@Override
@@ -228,7 +231,8 @@
pendingMatchActionOperations.put(setId, switches);
// distribute apply/undo sets to cluster
- installSetChannel.addTransientEntry(setId.toString(), matchSet);
+ log.trace("MatchAction Coordinator distributing set: {}", matchSet);
+ installSetChannel.addTransientEntry(setId.getId(), matchSet);
}
@Override
@@ -404,20 +408,12 @@
* InstallerWorker threads.
*/
class Installer
- implements IEventChannelListener<String, MatchActionOperations> {
-
- /**
- * Starts the Installer consumer. Adds a listener on the MatchActionOperations
- * channel.
- */
- private void start() {
- installSetChannel.addListener(this);
- }
-
+ implements IEventChannelListener<Long, MatchActionOperations> {
@Override
public void entryAdded(MatchActionOperations value) {
try {
+ log.trace("MatchAction Installer receiving set: {}", value);
installationWorkQueue.put(value);
} catch (InterruptedException e) {
log.warn("Error adding to installer work queue: {}",
@@ -433,6 +429,7 @@
@Override
public void entryUpdated(MatchActionOperations value) {
try {
+ log.trace("MatchAction Installer receiving set: {}", value);
installationWorkQueue.put(value);
} catch (InterruptedException e) {
log.warn("Error adding to installer work queue: {}",