You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2009/03/28 19:04:58 UTC

svn commit: r759532 - in /mina/trunk/example/src/main/java/org/apache/mina/example/gettingstarted/timeserver: MinaTimeServer.java TimeServerHandler.java

Author: elecharny
Date: Sat Mar 28 18:04:57 2009
New Revision: 759532

URL: http://svn.apache.org/viewvc?rev=759532&view=rev
Log:
Added some comments and Javadoc

Modified:
    mina/trunk/example/src/main/java/org/apache/mina/example/gettingstarted/timeserver/MinaTimeServer.java
    mina/trunk/example/src/main/java/org/apache/mina/example/gettingstarted/timeserver/TimeServerHandler.java

Modified: mina/trunk/example/src/main/java/org/apache/mina/example/gettingstarted/timeserver/MinaTimeServer.java
URL: http://svn.apache.org/viewvc/mina/trunk/example/src/main/java/org/apache/mina/example/gettingstarted/timeserver/MinaTimeServer.java?rev=759532&r1=759531&r2=759532&view=diff
==============================================================================
--- mina/trunk/example/src/main/java/org/apache/mina/example/gettingstarted/timeserver/MinaTimeServer.java (original)
+++ mina/trunk/example/src/main/java/org/apache/mina/example/gettingstarted/timeserver/MinaTimeServer.java Sat Mar 28 18:04:57 2009
@@ -31,27 +31,39 @@
 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
 
 /**
- * TODO Add documentation
+ * A minimal 'time' server, returning the current date. Opening
+ * a telnet server, you will get the current date by typing
+ * any string followed by a new line.
+ * 
+ * In order to quit, just send the 'quit' message.
  * 
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
  */
 public class MinaTimeServer {
-
+    /** We will use a port above 1024 to be able to launch the server with a standard user */
     private static final int PORT = 9123;
-    
+
+    /**
+     * The server implementation. It's based on TCP, and uses a logging filter 
+     * plus a text line decoder.
+     */
     public static void main(String[] args) throws IOException {
-        
+        // Create the acceptor
         IoAcceptor acceptor = new NioSocketAcceptor();
         
+        // Add two filters : a logger and a codec
         acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
         acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( "UTF-8" ))));
    
-        acceptor.setHandler(  new TimeServerHandler() );
+        // Attach the business logic to the server
+        acceptor.setHandler( new TimeServerHandler() );
 
+        // Configurate the buffer size and the iddle time
         acceptor.getSessionConfig().setReadBufferSize( 2048 );
         acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );
         
+        // And bind !
         acceptor.bind( new InetSocketAddress(PORT) );
     }
 }
\ No newline at end of file

Modified: mina/trunk/example/src/main/java/org/apache/mina/example/gettingstarted/timeserver/TimeServerHandler.java
URL: http://svn.apache.org/viewvc/mina/trunk/example/src/main/java/org/apache/mina/example/gettingstarted/timeserver/TimeServerHandler.java?rev=759532&r1=759531&r2=759532&view=diff
==============================================================================
--- mina/trunk/example/src/main/java/org/apache/mina/example/gettingstarted/timeserver/TimeServerHandler.java (original)
+++ mina/trunk/example/src/main/java/org/apache/mina/example/gettingstarted/timeserver/TimeServerHandler.java Sat Mar 28 18:04:57 2009
@@ -26,33 +26,47 @@
 import org.apache.mina.core.session.IoSession;
 
 /**
- * TODO Add documentation
+ * The Time Server handler : it return the current date when a message is received,
+ * or close the session if the "quit" message is received.
  * 
  * @author The Apache MINA Project (dev@mina.apache.org)
  * @version $Rev$, $Date$
  */
 public class TimeServerHandler extends IoHandlerAdapter
 {
+    /**
+     * Trap exceptions.
+     */
     @Override
     public void exceptionCaught( IoSession session, Throwable cause ) throws Exception
     {
         cause.printStackTrace();
     }
 
+    /**
+     * If the message is 'quit', we exit by closing the session. Otherwise,
+     * we return the current date.
+     */
     @Override
     public void messageReceived( IoSession session, Object message ) throws Exception
     {
         String str = message.toString();
+        
         if( str.trim().equalsIgnoreCase("quit") ) {
+            // "Quit" ? let's get out ...
             session.close(true);
             return;
         }
 
+        // Send the current date back to the client
         Date date = new Date();
         session.write( date.toString() );
         System.out.println("Message written...");
     }
 
+    /**
+     * On idle, we just write a message on the console
+     */
     @Override
     public void sessionIdle( IoSession session, IdleStatus status ) throws Exception
     {