[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