Author: trustin
Date: Mon Aug 6 19:56:29 2007
New Revision: 563375
URL: http://svn.apache.org/viewvc?view=rev&rev=563375
Log:
Fixed bugs reported by Geoff Cadien
* count property is miscalculated in DefaultFileRegion
* A possible ClassCastException in clearWriteRequestQueue()
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketIoProcessor.java
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketIoProcessor.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketIoProcessor.java?view=diff&rev=563375&r1=563374&r2=563375
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketIoProcessor.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketIoProcessor.java
Mon Aug 6 19:56:29 2007
@@ -359,13 +359,18 @@
WriteRequest req;
if ((req = writeRequestQueue.poll()) != null) {
- ByteBuffer buf = (ByteBuffer) req.getMessage();
- // The first unwritten empty buffer must be
- // forwarded to the filter chain.
- if (buf.hasRemaining()) {
- req.getFuture().setWritten(false);
+ Object m = req.getMessage();
+ if (m instanceof ByteBuffer) {
+ ByteBuffer buf = (ByteBuffer) req.getMessage();
+ // The first unwritten empty buffer must be
+ // forwarded to the filter chain.
+ if (buf.hasRemaining()) {
+ req.getFuture().setWritten(false);
+ } else {
+ session.getFilterChain().fireMessageSent(session, req);
+ }
} else {
- session.getFilterChain().fireMessageSent(session, req);
+ req.getFuture().setWritten(false);
}
// Discard others.