CVS: beepcore-java/src/org/beepcore/beep/core ChannelImpl.java,1.9,1.10 Channel.java,1.33,1.34 SessionImpl.java,1.9,1.10

Huston Franklin <[email protected]> Fri, 07 Nov 2003 09:39:24 -0800
Newsgroups gmane.network.beep.beepcore.java.cvs
Message-ID <[email protected]>
Update of /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core
In directory sc8-pr-cvs1:/tmp/cvs-serv11493/src/org/beepcore/beep/core

Modified Files:
	ChannelImpl.java Channel.java SessionImpl.java 
Log Message:
Added getState to the Channel interface. Added better toString() methods for channels and sessions.

Index: ChannelImpl.java
===================================================================
RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core/ChannelImpl.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** ChannelImpl.java	15 Sep 2003 15:23:30 -0000	1.9
--- ChannelImpl.java	7 Nov 2003 17:39:21 -0000	1.10
***************
*** 43,56 ****
  
      // class variables
-     public static final int STATE_INITIALIZED = 0;
-     public static final int STATE_STARTING = 1;
-     public static final int STATE_ACTIVE = 2;
-     public static final int STATE_TUNING_PENDING = 3;
-     public static final int STATE_TUNING = 4;
-     public static final int STATE_CLOSE_PENDING = 5;
-     public static final int STATE_CLOSING = 6;
-     public static final int STATE_CLOSED = 7;
-     public static final int STATE_ABORTED = 8;
- 
      private static final BufferSegment zeroLengthSegment =
          new BufferSegment(new byte[0]);
--- 43,46 ----
***************
*** 130,133 ****
--- 120,131 ----
      private boolean tuningProfile = false;
  
+     /* (non-Javadoc)
+      * @see java.lang.Object#toString()
+      */
+     public String toString() {
+         return super.toString() + " (#" + getNumberAsString() + " "
+             + getStateString() + " on " + session.toString() + ")";
+     }
+     
      ChannelImpl(String profile, String number,
                  RequestHandler handler, boolean tuningReset, SessionImpl session)
***************
*** 444,454 ****
      }
  
!     /**
!      * returns the state of the <code>Channel</code>
!      * The possible states are (all defined as Channel.STATE_*):
!      */
!     int getState()
      {
          return state;
      }
  
--- 442,473 ----
      }
  
!     public int getState()
      {
          return state;
+     }
+ 
+     private String getStateString() {
+         switch (state) {
+             case STATE_INITIALIZED:
+                 return "initialized";
+             case STATE_STARTING:
+                 return "starting";
+             case STATE_ACTIVE:
+                 return "active";
+             case STATE_TUNING_PENDING:
+                 return "tuning pending";
+             case STATE_TUNING:
+                 return "tuning";
+             case STATE_CLOSE_PENDING:
+                 return "close pending";
+             case STATE_CLOSING:
+                 return "closing";
+             case STATE_CLOSED:
+                 return "closed";
+             case STATE_ABORTED:
+                 return "aborted";
+             default:
+                 return "unknown";
+         }
      }
  

Index: Channel.java
===================================================================
RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core/Channel.java,v
retrieving revision 1.33
retrieving revision 1.34
diff -C2 -r1.33 -r1.34
*** Channel.java	10 Jun 2003 18:59:16 -0000	1.33
--- Channel.java	7 Nov 2003 17:39:21 -0000	1.34
***************
*** 27,30 ****
--- 27,40 ----
  public interface Channel {
  
+     public static final int STATE_INITIALIZED = 0;
+     public static final int STATE_STARTING = 1;
+     public static final int STATE_ACTIVE = 2;
+     public static final int STATE_TUNING_PENDING = 3;
+     public static final int STATE_TUNING = 4;
+     public static final int STATE_CLOSE_PENDING = 5;
+     public static final int STATE_CLOSING = 6;
+     public static final int STATE_CLOSED = 7;
+     public static final int STATE_ABORTED = 8;
+ 
      /**
       * Closes the channel.
***************
*** 104,107 ****
--- 114,122 ----
       */
      public Session getSession();
+ 
+     /**
+      * Returns the state of this channel.
+      */
+     public int getState();
  
      /**

Index: SessionImpl.java
===================================================================
RCS file: /cvsroot/beepcore-java/beepcore-java/src/org/beepcore/beep/core/SessionImpl.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** SessionImpl.java	15 Sep 2003 15:23:30 -0000	1.9
--- SessionImpl.java	7 Nov 2003 17:39:21 -0000	1.10
***************
*** 625,628 ****
--- 625,636 ----
      }
      
+     /* (non-Javadoc)
+      * @see java.lang.Object#toString()
+      */
+     public String toString() {
+         return super.toString() + " (" + (isInitiator() ? "I " : "L ") +
+             getStateString() + ")";
+     }
+ 
      synchronized void changeState(int newState) throws BEEPException {
          try {
***************
*** 1208,1211 ****
--- 1216,1244 ----
          // Warning: nextChannelNumber is a long to detect overflow
          return nextChannel;
+     }
+     
+     private String getStateString() {
+         switch (state) {
+             case SESSION_STATE_INITIALIZED:
+                 return "initialized";
+             case SESSION_STATE_GREETING_SENT:
+                 return "greeting sent";
+             case SESSION_STATE_ACTIVE:
+                 return "active";
+             case SESSION_STATE_TUNING_PENDING:
+                 return "tuning pending";
+             case SESSION_STATE_TUNING:
+                 return "tuning";
+             case SESSION_STATE_CLOSE_PENDING:
+                 return "close pending";
+             case SESSION_STATE_CLOSING:
+                 return "closing";
+             case SESSION_STATE_CLOSED:
+                 return "closed";
+             case SESSION_STATE_ABORTED:
+                 return "aborted";
+             default:
+                 return "unknown";
+         }
      }
  



-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/