You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by Apache Wiki <wi...@apache.org> on 2006/10/31 10:27:42 UTC

[Directory Wiki] Update of "MinaTutorial" by sishen

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Directory Wiki" for change notification.

The following page has been changed by sishen:
http://wiki.apache.org/directory/MinaTutorial

------------------------------------------------------------------------------
  {{{
  package org.apache.mina.examples.echoserver;
  
+ import org.apache.mina.common.ByteBuffer;
+ import org.apache.mina.common.IoHandlerAdapter;
- import org.apache.mina.common.*;
+ import org.apache.mina.common.IoSession;
- import org.apache.mina.io.*;
- import org.apache.mina.io.socket.*;
+ import org.apache.mina.common.TransportType;
+ import org.apache.mina.transport.socket.nio.SocketSessionConfig;
  
  public class EchoProtocolHandler extends IoHandlerAdapter
  {
      public void sessionCreated( IoSession session )
      {
+         if (session.getTransportType() == TransportType.SOCKET) {
+             ((SocketSessionConfig)session.getConfig()).setReceiveBufferSize(2048);
-         SessionConfig cfg = session.getConfig();
-         if( cfg instanceof SocketSessionConfig )
-         {
-             SocketSessionConfig scfg = ( SocketSessionConfig ) cfg ) ;
- scfg.setSessionReceiveBufferSize( 2048 );
          }
      }
  
@@ -83, +82 @@

          session.close();
      }
  
-     public void dataRead( IoSession session, ByteBuffer rb )
+     public void dataRead( IoSession session, Object message )
+     {
+         if (!(message instanceof ByteBuffer))
+             return;
-     {
+     	
+         ByteBuffer rb = (ByteBuffer)message;
          // Write the received data back to remote peer
          ByteBuffer wb = ByteBuffer.allocate( rb.remaining() );
          wb.put( rb );
          wb.flip();
-         session.write( wb, null );
+         session.write( wb );
      }
  }
  }}}