Return-Path: Delivered-To: apmail-incubator-directory-cvs-archive@www.apache.org Received: (qmail 25623 invoked from network); 24 Dec 2004 07:12:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 24 Dec 2004 07:12:16 -0000 Received: (qmail 73523 invoked by uid 500); 24 Dec 2004 07:12:15 -0000 Delivered-To: apmail-incubator-directory-cvs-archive@incubator.apache.org Received: (qmail 73470 invoked by uid 500); 24 Dec 2004 07:12:15 -0000 Mailing-List: contact directory-cvs-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: directory-dev@incubator.apache.org Delivered-To: mailing list directory-cvs@incubator.apache.org Received: (qmail 73456 invoked by uid 99); 24 Dec 2004 07:12:15 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Thu, 23 Dec 2004 23:12:14 -0800 Received: (qmail 25564 invoked by uid 65534); 24 Dec 2004 07:12:13 -0000 Date: 24 Dec 2004 07:12:13 -0000 Message-ID: <20041224071213.25559.qmail@minotaur.apache.org> From: trustin@apache.org To: directory-cvs@incubator.apache.org Subject: svn commit: r123281 - in incubator/directory/network/trunk/mina/src/java/org/apache/mina: io io/socket protocol MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Author: trustin Date: Thu Dec 23 23:12:12 2004 New Revision: 123281 URL: http://svn.apache.org/viewcvs?view=rev&rev=123281 Log: Fixed: All messages are not decoded Better performance when IoHandler read up all of read buffer. Modified: incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/IoSession.java incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/socket/SocketIoProcessor.java incubator/directory/network/trunk/mina/src/java/org/apache/mina/protocol/IoAdapter.java Modified: incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/IoSession.java Url: http://svn.apache.org/viewcvs/incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/IoSession.java?view=diff&rev=123281&p1=incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/IoSession.java&r1=123280&p2=incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/IoSession.java&r2=123281 ============================================================================== --- incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/IoSession.java (original) +++ incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/IoSession.java Thu Dec 23 23:12:12 2004 @@ -36,9 +36,9 @@ void close(); - void write(byte[] buf, Object marker); - void write(ByteBuffer buf, Object marker); + + void write(byte[] buf, Object marker); void write(byte[] buf, int offset, int length, Object marker); Modified: incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/socket/SocketIoProcessor.java Url: http://svn.apache.org/viewcvs/incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/socket/SocketIoProcessor.java?view=diff&rev=123281&p1=incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/socket/SocketIoProcessor.java&r1=123280&p2=incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/socket/SocketIoProcessor.java&r2=123281 ============================================================================== --- incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/socket/SocketIoProcessor.java (original) +++ incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/socket/SocketIoProcessor.java Thu Dec 23 23:12:12 2004 @@ -238,7 +238,10 @@ synchronized( buf ) { - buf.compact(); + if (buf.hasRemaining()) + buf.compact(); + else + buf.clear(); try { Modified: incubator/directory/network/trunk/mina/src/java/org/apache/mina/protocol/IoAdapter.java Url: http://svn.apache.org/viewcvs/incubator/directory/network/trunk/mina/src/java/org/apache/mina/protocol/IoAdapter.java?view=diff&rev=123281&p1=incubator/directory/network/trunk/mina/src/java/org/apache/mina/protocol/IoAdapter.java&r1=123280&p2=incubator/directory/network/trunk/mina/src/java/org/apache/mina/protocol/IoAdapter.java&r2=123281 ============================================================================== --- incubator/directory/network/trunk/mina/src/java/org/apache/mina/protocol/IoAdapter.java (original) +++ incubator/directory/network/trunk/mina/src/java/org/apache/mina/protocol/IoAdapter.java Thu Dec 23 23:12:12 2004 @@ -112,14 +112,24 @@ Object result; try { - synchronized( in ) - { - result = decoder.decode( psession, in ); - } + for ( ;; ) { + result = null; + synchronized( in ) + { + if (in.hasRemaining()) { + result = decoder.decode( psession, in ); + } + } - if( result != null ) - { - filterManager.fireMessageReceived( psession, result ); + if( result == null ) + { + // read up all data + break; + } + else + { + filterManager.fireMessageReceived( psession, result ); + } } } catch( Throwable t )