[Tinyos-2-commits] CVS: tinyos-2.x/support/sdk/java/net/tinyos/sf
SFNullRenderer.java, NONE, 1.1 SerialForwarder.java, 1.4, 1.5
dmm
rincon at users.sourceforge.net
Mon Jun 18 13:36:38 PDT 2007
Update of /cvsroot/tinyos/tinyos-2.x/support/sdk/java/net/tinyos/sf
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv32181
Modified Files:
SerialForwarder.java
Added Files:
SFNullRenderer.java
Log Message:
Added a -no-output and null renderer option for deployable applications that only want serial forwarder running completely in the background. Have yet to regenerat/commit the baseline .jar that corresponds to this addition.
--- NEW FILE: SFNullRenderer.java ---
package net.tinyos.sf;
public class SFNullRenderer implements SFRenderer {
public void message(String msg) {
}
public void updatePacketsRead(int n) {
}
public void updatePacketsWritten(int n) {
}
public void updateNumClients(int n) {
}
public void updateListenServerStatus(boolean listening) {
}
}
Index: SerialForwarder.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/support/sdk/java/net/tinyos/sf/SerialForwarder.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** SerialForwarder.java 12 Dec 2006 18:23:00 -0000 1.4
--- SerialForwarder.java 18 Jun 2007 20:36:36 -0000 1.5
***************
*** 30,34 ****
*/
-
/**
* File: SerialForwarder.java
--- 30,33 ----
***************
*** 50,222 ****
public class SerialForwarder implements Messenger {
public static final int DEFAULT_PORT = 9002;
-
- // appication defaults
- public SFRenderer renderer;
- public SFListen listenServer;
- public String motecom = "serial at com1:57600";
- public boolean logDB;
! public int serverPort = DEFAULT_PORT;
! private boolean guiMode = true;
! private boolean displayHelp = false;
! private int nClients = 0;
! private int nPacketsRead = 0;
! private int nPacketsWritten = 0;
! private SFListen listener = null;
! SFMessenger verbose = new SFMessenger(true);
! SFMessenger debug = new SFMessenger(false);
! class SFMessenger implements Messenger {
! boolean on;
! SFMessenger(boolean on) {
! this.on = on;
! }
! public void message(String message) {
! if (on) {
! SerialForwarder.this.message(message);
! }
! }
! }
! public static void main(String[] args) throws IOException {
! new SerialForwarder(args);
! }
! public SerialForwarder(String[] args) throws IOException {
! ProcessCommandLineArgs (args);
! if (displayHelp) {
! printHelp();
! System.exit(2);
! }
! if (guiMode) {
! renderer = SFWindow.createGui( this, "TinyOS 2.x Serial Forwarder" );
! } else {
! renderer = new SFConsoleRenderer();
! }
! startListenServer();
! }
! private void ProcessCommandLineArgs(String[] args) {
! for (int i = 0; i < args.length; i++) {
! debug.message(args[i]);
! }
! for (int i = 0; i < args.length; i++) {
! if (args[i].equals ("-no-gui")) {
! guiMode = false;
! }
! else if (args[i].equals ("-comm")) {
! i++;
! if (i < args.length) {
! motecom = args[i];
! }
! else {
! displayHelp = true;
! }
! }
! else if (args[i].equals ("-port")) {
! i++;
! if (i < args.length) {
! serverPort = Integer.parseInt(args[i]);
! }
! else {
! displayHelp = true;
! }
! }
! else if (args[i].equals ("-log")) {
! logDB = true;
! }
! else if (args[i].equals ("-quiet")) {
! verbose.on = false;
! }
! else if (args[i].equals ("-debug")) {
! debug.on = true;
! }
! else {
! displayHelp = true;
! }
! }
! }
! private static void printHelp() {
! System.err.println ("optional arguments:");
! System.err.println ("-port [server port] (default " + DEFAULT_PORT + ")");
! System.err.println ("-comm [motecom spec] (default serial at com1:57600)");
! System.err.println ("-packetsize [size] (default 36)");
! System.err.println ("-no-gui = do not display graphic interface");
! System.err.println ("-quiet = non-verbose mode");
! System.err.println ("-debug = display debug messages");
! System.err.println ("-log = log to database");
! }
! private void createGui() {
! renderer = SFWindow.createGui( this, "SerialForwarder" );
! }
! public void message(String msg) {
! renderer.message(msg);
! }
! synchronized public void incrementPacketsRead() {
! nPacketsRead++;
! renderer.updatePacketsRead(nPacketsRead);
! }
! synchronized public void incrementPacketsWritten() {
! nPacketsWritten++;
! renderer.updatePacketsWritten(nPacketsWritten);
}
! synchronized public void incrementClients() {
! nClients++;
! renderer.updateNumClients(nClients);
}
! synchronized public void decrementClients() {
! nClients--;
! renderer.updateNumClients(nClients);
! }
! public synchronized void clearCounts() {
! nPacketsRead = nPacketsWritten = 0;
! renderer.updatePacketsWritten(nPacketsWritten);
! renderer.updatePacketsRead(nPacketsRead);
}
! public synchronized void startListenServer() {
! if (listenServer == null) {
! nClients = 0;
! listenServer = new SFListen(this);
! listenServer.start();
! }
! renderer.updateListenServerStatus(true);
! renderer.updateNumClients(nClients);
! clearCounts();
}
! public void stopListenServer() {
! SFListen lserver;
! // We can't just make stopSFListen synchronized because
! // listenServerStopped must be synchronized too
! synchronized (this) {
! lserver = listenServer;
! if (lserver != null)
! listenServer.shutdown();
! }
! if (lserver != null) {
! try {
! lserver.join(2000);
! }
! catch (InterruptedException ex) { }
! }
}
! public synchronized void listenServerStopped() {
! listenServer = null;
! renderer.updateListenServerStatus(false);
}
}
--- 49,228 ----
public class SerialForwarder implements Messenger {
public static final int DEFAULT_PORT = 9002;
! // appication defaults
! public SFRenderer renderer;
! public SFListen listenServer;
! public String motecom = "serial at com1:57600";
! public boolean logDB;
! public int serverPort = DEFAULT_PORT;
! private boolean displayHelp = false;
! private int nClients = 0;
! private int nPacketsRead = 0;
! private int nPacketsWritten = 0;
! private SFListen listener = null;
! SFMessenger verbose = new SFMessenger(true);
! SFMessenger debug = new SFMessenger(false);
! class SFMessenger implements Messenger {
! boolean on;
! SFMessenger(boolean on) {
! this.on = on;
}
! public void message(String message) {
! if (on) {
! SerialForwarder.this.message(message);
! }
}
+ }
! public static void main(String[] args) throws IOException {
! new SerialForwarder(args);
! }
! public SerialForwarder(String[] args) throws IOException {
! ProcessCommandLineArgs(args);
!
! if (displayHelp) {
! printHelp();
! System.exit(2);
! }
!
! if(renderer == null) {
! // Default is GUI
! renderer = SFWindow.createGui(this, "TinyOS 2.x Serial Forwarder");
}
+
+ startListenServer();
+ }
! private void ProcessCommandLineArgs(String[] args) {
! for (int i = 0; i < args.length; i++) {
! debug.message(args[i]);
! }
! for (int i = 0; i < args.length; i++) {
! if (args[i].equals("-no-gui") && renderer == null) {
! renderer = new SFConsoleRenderer();
!
! } else if(args[i].equals("-no-output") && renderer == null) {
! renderer = new SFNullRenderer();
!
! } else if (args[i].equals("-comm")) {
! i++;
! if (i < args.length) {
! motecom = args[i];
! } else {
! displayHelp = true;
! }
!
! } else if (args[i].equals("-port")) {
! i++;
! if (i < args.length) {
! serverPort = Integer.parseInt(args[i]);
! } else {
! displayHelp = true;
! }
! } else if (args[i].equals("-log")) {
! logDB = true;
! } else if (args[i].equals("-quiet")) {
! verbose.on = false;
! } else if (args[i].equals("-debug")) {
! debug.on = true;
! } else {
! displayHelp = true;
! }
}
+ }
! private static void printHelp() {
! System.err.println("optional arguments:");
! System.err.println("-port [server port] (default " + DEFAULT_PORT + ")");
! System.err.println("-comm [motecom spec] (default serial at com1:57600)");
! System.err.println("-packetsize [size] (default 36)");
! System.err.println("-no-gui = do not display graphic interface");
! System.err.println("-no-output");
! System.err.println("-quiet = non-verbose mode");
! System.err.println("-debug = display debug messages");
! System.err.println("-log = log to database");
! }
! private void createGui() {
! renderer = SFWindow.createGui(this, "SerialForwarder");
! }
!
! public void message(String msg) {
! renderer.message(msg);
! }
!
! synchronized public void incrementPacketsRead() {
! nPacketsRead++;
! renderer.updatePacketsRead(nPacketsRead);
! }
!
! synchronized public void incrementPacketsWritten() {
! nPacketsWritten++;
! renderer.updatePacketsWritten(nPacketsWritten);
! }
!
! synchronized public void incrementClients() {
! nClients++;
! renderer.updateNumClients(nClients);
! }
!
! synchronized public void decrementClients() {
! nClients--;
! renderer.updateNumClients(nClients);
! }
!
! public synchronized void clearCounts() {
! nPacketsRead = nPacketsWritten = 0;
! renderer.updatePacketsWritten(nPacketsWritten);
! renderer.updatePacketsRead(nPacketsRead);
! }
!
! public synchronized void startListenServer() {
! if (listenServer == null) {
! nClients = 0;
! listenServer = new SFListen(this);
! listenServer.start();
}
+ renderer.updateListenServerStatus(true);
+ renderer.updateNumClients(nClients);
+ clearCounts();
+ }
! public void stopListenServer() {
! SFListen lserver;
!
! // We can't just make stopSFListen synchronized because
! // listenServerStopped must be synchronized too
! synchronized (this) {
! lserver = listenServer;
! if (lserver != null)
! listenServer.shutdown();
! }
! if (lserver != null) {
! try {
! lserver.join(2000);
! } catch (InterruptedException ex) {
! }
}
+ }
+
+ public synchronized void listenServerStopped() {
+ listenServer = null;
+ renderer.updateListenServerStatus(false);
+ }
}
More information about the Tinyos-2-commits
mailing list