You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2004/12/25 05:00:22 UTC
svn commit: r123310 - in incubator/directory/network/trunk/mina/src: examples/org/apache/mina/examples/echoserver examples/org/apache/mina/examples/netcat java/org/apache/mina/io/filter java/org/apache/mina/protocol
Author: trustin
Date: Fri Dec 24 20:00:21 2004
New Revision: 123310
URL: http://svn.apache.org/viewcvs?view=rev&rev=123310
Log:
There is no need to lock read buffer in dataRead() handler because IoThreadPoolFilter locks it before invoking dataRead.
Modified:
incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/echoserver/EchoProtocolHandler.java
incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/netcat/NetCatProtocolHandler.java
incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/filter/IoThreadPoolFilter.java
incubator/directory/network/trunk/mina/src/java/org/apache/mina/protocol/IoAdapter.java
Modified: incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/echoserver/EchoProtocolHandler.java
Url: http://svn.apache.org/viewcvs/incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/echoserver/EchoProtocolHandler.java?view=diff&rev=123310&p1=incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/echoserver/EchoProtocolHandler.java&r1=123309&p2=incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/echoserver/EchoProtocolHandler.java&r2=123310
==============================================================================
--- incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/echoserver/EchoProtocolHandler.java (original)
+++ incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/echoserver/EchoProtocolHandler.java Fri Dec 24 20:00:21 2004
@@ -59,16 +59,13 @@
public void dataRead( IoSession session, ByteBuffer rb )
{
- synchronized( rb )
- {
- ByteBuffer wb = ByteBuffer.allocate( rb.remaining() );
- wb.put( rb );
- wb.flip();
- System.out.println( Thread.currentThread().getName() + ' '
- + session.getRemoteAddress() + ": READ ("
- + wb.remaining() + "B)" );
- session.write( wb, null );
- }
+ ByteBuffer wb = ByteBuffer.allocate( rb.remaining() );
+ wb.put( rb );
+ wb.flip();
+ System.out.println( Thread.currentThread().getName() + ' '
+ + session.getRemoteAddress() + ": READ ("
+ + wb.remaining() + "B)" );
+ session.write( wb, null );
}
public void dataWritten( IoSession IoSession, Object marker )
Modified: incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/netcat/NetCatProtocolHandler.java
Url: http://svn.apache.org/viewcvs/incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/netcat/NetCatProtocolHandler.java?view=diff&rev=123310&p1=incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/netcat/NetCatProtocolHandler.java&r1=123309&p2=incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/netcat/NetCatProtocolHandler.java&r2=123310
==============================================================================
--- incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/netcat/NetCatProtocolHandler.java (original)
+++ incubator/directory/network/trunk/mina/src/examples/org/apache/mina/examples/netcat/NetCatProtocolHandler.java Fri Dec 24 20:00:21 2004
@@ -49,12 +49,9 @@
public void dataRead( IoSession session, ByteBuffer buf )
{
- synchronized( buf )
+ while( buf.hasRemaining() )
{
- while( buf.hasRemaining() )
- {
- System.out.print( ( char ) buf.get() );
- }
+ System.out.print( ( char ) buf.get() );
}
System.out.flush();
}
Modified: incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/filter/IoThreadPoolFilter.java
Url: http://svn.apache.org/viewcvs/incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/filter/IoThreadPoolFilter.java?view=diff&rev=123310&p1=incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/filter/IoThreadPoolFilter.java&r1=123309&p2=incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/filter/IoThreadPoolFilter.java&r2=123310
==============================================================================
--- incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/filter/IoThreadPoolFilter.java (original)
+++ incubator/directory/network/trunk/mina/src/java/org/apache/mina/io/filter/IoThreadPoolFilter.java Fri Dec 24 20:00:21 2004
@@ -388,15 +388,12 @@
if( type == EventType.READ )
{
ByteBuffer buf = ( ByteBuffer ) data;
- boolean fire;
synchronized( buf )
{
- fire = buf.hasRemaining();
- }
-
- if( fire )
- {
- nextHandler.dataRead( session, buf );
+ if (buf.hasRemaining())
+ {
+ nextHandler.dataRead( session, buf );
+ }
}
}
else if( type == EventType.WRITTEN )
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=123310&p1=incubator/directory/network/trunk/mina/src/java/org/apache/mina/protocol/IoAdapter.java&r1=123309&p2=incubator/directory/network/trunk/mina/src/java/org/apache/mina/protocol/IoAdapter.java&r2=123310
==============================================================================
--- 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 Fri Dec 24 20:00:21 2004
@@ -103,12 +103,9 @@
{
for( ;; )
{
- synchronized( in )
+ if( in.hasRemaining() )
{
- if( in.hasRemaining() )
- {
- decoder.decode( psession, in, psession.decOut );
- }
+ decoder.decode( psession, in, psession.decOut );
}
Queue queue = psession.decOut.messageQueue;