[Tinyos-beta-commits] CVS: tinyos-1.x/beta/Drain/tools/java/net/tinyos/drain Drain.java, 1.11, 1.12 DrainTest.java, 1.5, 1.6

Gilman Tolle gtolle at users.sourceforge.net
Fri Aug 26 13:44:32 PDT 2005


Update of /cvsroot/tinyos/tinyos-1.x/beta/Drain/tools/java/net/tinyos/drain
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14491/tools/java/net/tinyos/drain

Modified Files:
	Drain.java DrainTest.java 
Log Message:
Reordered Drain code for easier readability. Added selectable period to DrainTest. Made Drain able to repeatedly build with a specified period.

Index: Drain.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/Drain/tools/java/net/tinyos/drain/Drain.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** Drain.java	18 Aug 2005 06:38:37 -0000	1.11
--- Drain.java	26 Aug 2005 20:44:30 -0000	1.12
***************
*** 29,32 ****
--- 29,33 ----
    public short ttl = 15;
    public int delay = 4;
+   public int period = 0;
    public int count = 1;
    public boolean forever = false;
***************
*** 114,118 ****
--- 115,123 ----
  	      buildTree(delay, treeInstance, true);
  	      try {
+ 		if (period > 0) {
+ 		  Thread.sleep(period * 1000);
+ 		} else {
  		  Thread.sleep(delay * 1000);
+ 		}
  	      } catch (InterruptedException e) {}
  	      count--;
***************
*** 138,145 ****
    }
    public static void main(String args[]) {
! 
      Drain drain = new Drain();
      
      parseArgs(args, drain);
  
      drain.maintainTree();
--- 143,152 ----
    }
    public static void main(String args[]) {
!     
      Drain drain = new Drain();
      
      parseArgs(args, drain);
+     
+     System.out.println("Drain: root_address=" + drain.spAddr + " instance=" + drain.treeInstance + " period=" + drain.period + " delay=" + drain.delay);
  
      drain.maintainTree();
***************
*** 182,185 ****
--- 189,194 ----
  	} else if (opt.equals("i")) {
  	  drain.treeInstance = Integer.parseInt(args[++i]);
+ 	} else if (opt.equals("p")) {
+ 	  drain.period = Integer.parseInt(args[++i]);
  	} else if (opt.equals("h")) {
  	  usage();
***************
*** 198,201 ****
--- 207,211 ----
      System.err.println("  -i <instance number>");
      System.err.println("  -t <rebroadcast delay in secs>");
+     System.err.println("  -p <rebuilding period in secs>");
      System.err.println("  -c <number of beacons to transmit>");
      System.err.println("  -n : Keep rebuilding the tree forever");

Index: DrainTest.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/beta/Drain/tools/java/net/tinyos/drain/DrainTest.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** DrainTest.java	22 Aug 2005 21:51:07 -0000	1.5
--- DrainTest.java	26 Aug 2005 20:44:30 -0000	1.6
***************
*** 17,24 ****
    private Map nodes = new HashMap();
  
!   public DrainTest() {
      DrainConnector mhConnector = new DrainConnector();
      Timer t = new Timer();
!     t.schedule(new PrintTask(), 0, 4000);
      mhConnector.registerListener(254, this);
    }
--- 17,27 ----
    private Map nodes = new HashMap();
  
!   private int period;
! 
!   public DrainTest(int _period) {
!     period = _period;
      DrainConnector mhConnector = new DrainConnector();
      Timer t = new Timer();
!     t.schedule(new PrintTask(), 0, period);
      mhConnector.registerListener(254, this);
    }
***************
*** 63,71 ****
      int sent;
      int lastSeqno;
    }
  
    private class PrintTask extends TimerTask {
      public void run() {
!       System.out.println("Status Report");
        double aggTrafficUnique = 0;
        double aggTraffic = 0;
--- 66,75 ----
      int sent;
      int lastSeqno;
+     int lastReceivedMill;
    }
  
    private class PrintTask extends TimerTask {
      public void run() {
!       System.out.println("Status Report - " + new Date());
        double aggTrafficUnique = 0;
        double aggTraffic = 0;
***************
*** 81,86 ****
  	count++;
  
! 	double receiveRateUnique = (rec.received - rec.lastReceived) / 4.0;
! 	double receiveRate = (rec.received + rec.receivedDup - rec.lastReceivedDup) / 4.0;
  	aggTrafficUnique += receiveRateUnique;
  	aggTraffic += receiveRate;
--- 85,90 ----
  	count++;
  
! 	double receiveRateUnique = (rec.received - rec.lastReceived) / ((double)period / 1000);
! 	double receiveRate = (rec.received + rec.receivedDup - rec.lastReceivedDup) / ((double)period / 1000);
  	aggTrafficUnique += receiveRateUnique;
  	aggTraffic += receiveRate;
***************
*** 105,109 ****
  
    public static void main(String args[]) {
!     new DrainTest();
    }
  }
--- 109,113 ----
  
    public static void main(String args[]) {
!     new DrainTest(Integer.parseInt(args[0]));
    }
  }



More information about the Tinyos-beta-commits mailing list