Author: mrogers
Date: 2006-10-30 18:17:39 +0000 (Mon, 30 Oct 2006)
New Revision: 10747

Modified:
   trunk/apps/load-balancing-sims/phase6/DeadlineQueue.java
   trunk/apps/load-balancing-sims/phase6/Peer.java
   trunk/apps/load-balancing-sims/phase6/messages/Ack.java
   trunk/apps/load-balancing-sims/phase6/messages/Message.java
Log:
Bandwidth & congestion refactoring, part 2

Modified: trunk/apps/load-balancing-sims/phase6/DeadlineQueue.java
===================================================================
--- trunk/apps/load-balancing-sims/phase6/DeadlineQueue.java    2006-10-30 
18:06:44 UTC (rev 10746)
+++ trunk/apps/load-balancing-sims/phase6/DeadlineQueue.java    2006-10-30 
18:17:39 UTC (rev 10747)
@@ -7,13 +7,11 @@
 {
        public int size = 0; // Size in bytes
        private LinkedList<MESSAGE> messages = new LinkedList<MESSAGE>();
-       private LinkedList<Double> deadlines = new LinkedList<Double>();

-       public void add (MESSAGE m, double deadline)
+       public void add (MESSAGE m)
        {
                size += m.size();
                messages.add (m);
-               deadlines.add (deadline);
        }

        public int headSize()
@@ -24,13 +22,12 @@

        public double deadline()
        {
-               if (deadlines.isEmpty()) return Double.POSITIVE_INFINITY;
-               else return deadlines.peek();
+               if (messages.isEmpty()) return Double.POSITIVE_INFINITY;
+               else return messages.peek().deadline;
        }

        public MESSAGE pop()
        {
-               deadlines.poll();
                MESSAGE m = messages.poll();
                if (m != null) size -= m.size();
                return m;

Modified: trunk/apps/load-balancing-sims/phase6/Peer.java
===================================================================
--- trunk/apps/load-balancing-sims/phase6/Peer.java     2006-10-30 18:06:44 UTC 
(rev 10746)
+++ trunk/apps/load-balancing-sims/phase6/Peer.java     2006-10-30 18:17:39 UTC 
(rev 10747)
@@ -55,14 +55,15 @@
        // Queue a message for transmission
        public void sendMessage (Message m)
        {
+               m.deadline = Event.time() + MAX_DELAY; // FIXME
                if (m instanceof Block || m instanceof DataInsert
                || m instanceof ChkDataFound) {
                        log (m + " added to transfer queue");
-                       transferQueue.add (m, Event.time() + MAX_DELAY);
+                       transferQueue.add (m);
                }
                else {
                        log (m + " added to search queue");
-                       searchQueue.add (m, Event.time() + MAX_DELAY);
+                       searchQueue.add (m);
                }
                // Start the node's timer if necessary
                node.startTimer();
@@ -74,7 +75,7 @@
        private void sendAck (int seq)
        {
                log ("ack " + seq + " added to ack queue");
-               ackQueue.add (new Ack (seq), Event.time() + MAX_DELAY);
+               ackQueue.add (new Ack (seq, Event.time() + MAX_DELAY));
                // Start the node's timer if necessary
                node.startTimer();
                // Send as many packets as possible

Modified: trunk/apps/load-balancing-sims/phase6/messages/Ack.java
===================================================================
--- trunk/apps/load-balancing-sims/phase6/messages/Ack.java     2006-10-30 
18:06:44 UTC (rev 10746)
+++ trunk/apps/load-balancing-sims/phase6/messages/Ack.java     2006-10-30 
18:17:39 UTC (rev 10747)
@@ -2,9 +2,10 @@

 public class Ack extends Message
 {
-       public Ack (int seq)
+       public Ack (int seq, double deadline)
        {
                id = seq; // Space-saving hack
+               this.deadline = deadline;
        }

        public int size()

Modified: trunk/apps/load-balancing-sims/phase6/messages/Message.java
===================================================================
--- trunk/apps/load-balancing-sims/phase6/messages/Message.java 2006-10-30 
18:06:44 UTC (rev 10746)
+++ trunk/apps/load-balancing-sims/phase6/messages/Message.java 2006-10-30 
18:17:39 UTC (rev 10747)
@@ -13,6 +13,7 @@
        public static int nextId = 0; // Each request and insert has a unique ID

        public int id; // Unique request ID
+       public double deadline = 0.0; // Coalescing, stored here for convenience

        // Override this
        public int size()


Reply via email to