Author: mheath
Date: Thu Feb 14 09:03:14 2008
New Revision: 627803

URL: http://svn.apache.org/viewvc?rev=627803&view=rev
Log:
Added explicit check for FileRegion message and exception when trying to flush 
a message of an unkown type.

Modified:
    
mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoProcessor.java

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoProcessor.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoProcessor.java?rev=627803&r1=627802&r2=627803&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoProcessor.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/common/AbstractPollingIoProcessor.java
 Thu Feb 14 09:03:14 2008
@@ -43,7 +43,7 @@
 public abstract class AbstractPollingIoProcessor<T extends AbstractIoSession> 
implements IoProcessor<T> {
     /**
      * The maximum loop count for a write operation until
-     * [EMAIL PROTECTED] #write(IoSession, IoBuffer, int)} returns non-zero 
value.
+     * [EMAIL PROTECTED] #write(AbstractIoSession, IoBuffer, int)} returns 
non-zero value.
      * It is similar to what a spin lock is for in concurrency programming.
      * It improves memory utilization and write throughput significantly.
      */
@@ -528,10 +528,12 @@
                     localWrittenBytes = writeBuffer(
                             session, req, hasFragmentation,
                             maxWrittenBytes - writtenBytes);
-                } else {
+                } else if (message instanceof FileRegion) {
                     localWrittenBytes = writeFile(
                             session, req, hasFragmentation,
                             maxWrittenBytes - writtenBytes);
+                } else {
+                       throw new IllegalStateException("Don't know how to 
handle message of type '" + message.getClass().getName() + "'.  Are you missing 
a protocol encoder?");
                 }
                 
                 writtenBytes += localWrittenBytes;


Reply via email to