[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