You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/07/27 19:30:27 UTC
svn commit: r560326 - in /mina:
branches/1.0/core/src/main/java/org/apache/mina/filter/codec/support/
branches/1.1/core/src/main/java/org/apache/mina/common/support/
branches/1.1/core/src/main/java/org/apache/mina/filter/codec/
branches/1.1/core/src/ma...
Author: trustin
Date: Fri Jul 27 10:30:25 2007
New Revision: 560326
URL: http://svn.apache.org/viewvc?view=rev&rev=560326
Log:
reverted back the changes relates with DIRMINA-405
Modified:
mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/AbstractIoFilterChain.java
mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketIoProcessor.java
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java
mina/branches/1.1/core/src/main/java/org/apache/mina/util/ByteBufferUtil.java
mina/branches/1.1/filter-compression/src/main/java/org/apache/mina/filter/CompressionFilter.java
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
Modified: mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
URL: http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java?view=diff&rev=560326&r1=560325&r2=560326
==============================================================================
--- mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java (original)
+++ mina/branches/1.0/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java Fri Jul 27 10:30:25 2007
@@ -43,21 +43,18 @@
this.nextFilter = nextFilter;
this.session = session;
}
-
+
public void write(Object message) {
messageQueue.push(message);
+ if (session instanceof BaseIoSession) {
+ ((BaseIoSession) session).increaseReadMessages();
+ }
}
public void flush() {
while (!messageQueue.isEmpty()) {
- if (session.getTrafficMask().isReadable()) {
- if (session instanceof BaseIoSession) {
- ((BaseIoSession) session).increaseReadMessages();
- }
- nextFilter.messageReceived(session, messageQueue.pop());
- } else {
- break;
- }
+ nextFilter.messageReceived(session, messageQueue.pop());
}
+
}
}
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/AbstractIoFilterChain.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/AbstractIoFilterChain.java?view=diff&rev=560326&r1=560325&r2=560326
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/AbstractIoFilterChain.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/common/support/AbstractIoFilterChain.java Fri Jul 27 10:30:25 2007
@@ -566,9 +566,7 @@
public void messageReceived(NextFilter nextFilter, IoSession session,
Object message) throws Exception {
try {
- if (!ByteBufferUtil.isEmpty(message)) {
- session.getHandler().messageReceived(session, message);
- }
+ session.getHandler().messageReceived(session, message);
} finally {
ByteBufferUtil.releaseIfPossible(message);
}
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java?view=diff&rev=560326&r1=560325&r2=560326
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/ProtocolCodecFilter.java Fri Jul 27 10:30:25 2007
@@ -152,10 +152,8 @@
ProtocolDecoderOutput decoderOut = getDecoderOut(session, nextFilter);
try {
- if (in.hasRemaining()) {
- synchronized (decoderOut) {
- decoder.decode(session, in, decoderOut);
- }
+ synchronized (decoderOut) {
+ decoder.decode(session, in, decoderOut);
}
} catch (Throwable t) {
ProtocolDecoderException pde;
@@ -167,6 +165,11 @@
pde.setHexdump(in.getHexDump());
throw pde;
} finally {
+ // Dispose the decoder if this session is connectionless.
+ if (session.getTransportType().isConnectionless()) {
+ disposeDecoder(session);
+ }
+
// Release the read buffer.
in.release();
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java?view=diff&rev=560326&r1=560325&r2=560326
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java Fri Jul 27 10:30:25 2007
@@ -45,22 +45,17 @@
this.nextFilter = nextFilter;
this.session = session;
}
-
+
public void write(Object message) {
messageQueue.add(message);
+ if (session instanceof BaseIoSession) {
+ ((BaseIoSession) session).increaseReadMessages();
+ }
}
public void flush() {
while (!messageQueue.isEmpty()) {
- if (session.getTrafficMask().isReadable()) {
- if (session instanceof BaseIoSession) {
- ((BaseIoSession) session).increaseReadMessages();
- }
- nextFilter.messageReceived(session, messageQueue.remove(0));
- } else {
- break;
- }
+ nextFilter.messageReceived(session, messageQueue.remove(0));
}
-
}
}
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketIoProcessor.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketIoProcessor.java?view=diff&rev=560326&r1=560325&r2=560326
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketIoProcessor.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketIoProcessor.java Fri Jul 27 10:30:25 2007
@@ -31,7 +31,6 @@
import org.apache.mina.common.ByteBuffer;
import org.apache.mina.common.ExceptionMonitor;
import org.apache.mina.common.IdleStatus;
-import org.apache.mina.common.TrafficMask;
import org.apache.mina.common.IoFilter.WriteRequest;
import org.apache.mina.common.WriteTimeoutException;
import org.apache.mina.util.NamePreservingRunnable;
@@ -410,19 +409,8 @@
}
// Now mask the preferred ops with the mask of the current session
- TrafficMask trafficMask = session.getTrafficMask();
- int opsMask = trafficMask.getInterestOps();
- if ((key.interestOps() & SelectionKey.OP_READ) == 0 &&
- trafficMask.isReadable()) {
- // This is a somewhat ugly workaround for the case that
- // ProtocolCodecFilter is in the filter chain.
- // Firing messageReceived() event with an empty buffer
- // triggers ProtocolCodecFilter to flush any queued
- // messageReceived() events on resumeRead().
- session.getFilterChain().fireMessageReceived(
- session, ByteBuffer.wrap(new byte[0]));
- }
- key.interestOps(ops & opsMask);
+ int mask = session.getTrafficMask().getInterestOps();
+ key.interestOps(ops & mask);
}
}
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java?view=diff&rev=560326&r1=560325&r2=560326
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramConnectorDelegate.java Fri Jul 27 10:30:25 2007
@@ -40,7 +40,6 @@
import org.apache.mina.common.IoServiceConfig;
import org.apache.mina.common.IoSession;
import org.apache.mina.common.IoSessionRecycler;
-import org.apache.mina.common.TrafficMask;
import org.apache.mina.common.IoFilter.WriteRequest;
import org.apache.mina.common.support.AbstractIoFilterChain;
import org.apache.mina.common.support.BaseIoConnector;
@@ -276,19 +275,8 @@
}
// Now mask the preferred ops with the mask of the current session
- TrafficMask trafficMask = session.getTrafficMask();
- int opsMask = trafficMask.getInterestOps();
- if ((key.interestOps() & SelectionKey.OP_READ) == 0 &&
- trafficMask.isReadable()) {
- // This is a somewhat ugly workaround for the case that
- // ProtocolCodecFilter is in the filter chain.
- // Firing messageReceived() event with an empty buffer
- // triggers ProtocolCodecFilter to flush any queued
- // messageReceived() events on resumeRead().
- session.getFilterChain().fireMessageReceived(
- session, ByteBuffer.wrap(new byte[0]));
- }
- key.interestOps(ops & opsMask);
+ int mask = session.getTrafficMask().getInterestOps();
+ key.interestOps(ops & mask);
}
}
Modified: mina/branches/1.1/core/src/main/java/org/apache/mina/util/ByteBufferUtil.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/util/ByteBufferUtil.java?view=diff&rev=560326&r1=560325&r2=560326
==============================================================================
--- mina/branches/1.1/core/src/main/java/org/apache/mina/util/ByteBufferUtil.java (original)
+++ mina/branches/1.1/core/src/main/java/org/apache/mina/util/ByteBufferUtil.java Fri Jul 27 10:30:25 2007
@@ -39,14 +39,6 @@
((ByteBuffer) message).release();
}
}
-
- public static boolean isEmpty(Object message) {
- if (message instanceof ByteBuffer) {
- return !((ByteBuffer) message).hasRemaining();
- } else {
- return false;
- }
- }
private ByteBufferUtil() {
}
Modified: mina/branches/1.1/filter-compression/src/main/java/org/apache/mina/filter/CompressionFilter.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/filter-compression/src/main/java/org/apache/mina/filter/CompressionFilter.java?view=diff&rev=560326&r1=560325&r2=560326
==============================================================================
--- mina/branches/1.1/filter-compression/src/main/java/org/apache/mina/filter/CompressionFilter.java (original)
+++ mina/branches/1.1/filter-compression/src/main/java/org/apache/mina/filter/CompressionFilter.java Fri Jul 27 10:30:25 2007
@@ -156,14 +156,9 @@
}
ByteBuffer inBuffer = (ByteBuffer) message;
- if (!inBuffer.hasRemaining()) {
- // Ignore empty buffers
- nextFilter.messageReceived(session, inBuffer);
- } else {
- ByteBuffer outBuffer = inflater.inflate(inBuffer);
- inBuffer.release();
- nextFilter.messageReceived(session, outBuffer);
- }
+ ByteBuffer outBuffer = inflater.inflate(inBuffer);
+ inBuffer.release();
+ nextFilter.messageReceived(session, outBuffer);
}
/*
Modified: mina/trunk/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java?view=diff&rev=560326&r1=560325&r2=560326
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/codec/support/SimpleProtocolDecoderOutput.java Fri Jul 27 10:30:25 2007
@@ -61,6 +61,5 @@
while (!messageQueue.isEmpty()) {
nextFilter.messageReceived(session, messageQueue.poll());
}
-
}
}