Added comments
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowPusher.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowPusher.java
index 54da3fd..07cb719 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowPusher.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowPusher.java
@@ -1,21 +1,14 @@
package net.onrc.onos.ofcontroller.flowmanager;
-import groovy.util.MapEntry;
-
import java.io.IOException;
-import java.util.ArrayList;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.Queue;
-import java.util.Set;
import org.openflow.protocol.OFMessage;
-import org.openflow.protocol.OFType;
import net.floodlightcontroller.core.FloodlightContext;
import net.floodlightcontroller.core.IOFSwitch;
-import net.floodlightcontroller.util.OFMessageDamper;
/**
* FlowPusher intermediates flow_mod sent from FlowManager/FlowSync to switches.
@@ -27,12 +20,18 @@
private FloodlightContext context;
private Thread thread;
+ /**
+ * Represents state of queue.
+ * This is used for calculation of rate.
+ * @author Naoki Shiota
+ *
+ */
private static class QueueState {
long last_sent_time = 0;
long last_sent_size = 0;
long max_rate;
}
-
+
private Map<IOFSwitch, Queue<OFMessage> > queues =
new HashMap<IOFSwitch, Queue<OFMessage> >();
private Map<Queue<OFMessage>, QueueState> queue_states =
@@ -80,7 +79,7 @@
// sleep while all queues are empty
boolean sleep = true;
do {
- // TODO
+ // TODO check if queues are empty
} while (sleep);
}
}
@@ -90,8 +89,11 @@
this.context = context;
}
- public void assignQueue(IOFSwitch sw, Queue<OFMessage> queue) {
+ public void assignQueue(IOFSwitch sw, Queue<OFMessage> queue, long max_rate) {
queues.put(sw, queue);
+ QueueState state = new QueueState();
+ state.max_rate = max_rate;
+ queue_states.put(queue, state);
}
public void startProcess() {