Author: fhanik Date: Thu Apr 13 14:20:21 2006 New Revision: 393944 URL: http://svn.apache.org/viewcvs?rev=393944&view=rev Log: Fixed, when reusing a send buffer need to set the limit
Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java?rev=393944&r1=393943&r2=393944&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java Thu Apr 13 14:20:21 2006 @@ -173,7 +173,6 @@ if ( remaining > 0 ) { //weve written everything, or we are starting a new package //protect against buffer overwrite - int length = current.length-curPos; int byteswritten = socketChannel.write(writebuf); curPos += byteswritten; remaining -= byteswritten; @@ -291,16 +290,16 @@ public synchronized void setMessage(byte[] data,int offset, int length) throws IOException { if ( data != null ) { current = data; - remaining = current.length; - curPos = 0; + remaining = length; + curPos = offset; ackbuf.clear(); -//todo, reuse the buffers, this causes problems on windows -// if ( writebuf != null ) writebuf.clear(); -// else writebuf = getBuffer(length); - writebuf = getBuffer(length); + if ( writebuf != null ) writebuf.clear(); + else writebuf = getBuffer(length); if ( writebuf.capacity() < length ) writebuf = getBuffer(length); writebuf.put(data,offset,length); writebuf.rewind(); + //set the limit so that we don't write non wanted data + writebuf.limit(length); if (isConnected()) { socketChannel.register(getSelector(), SelectionKey.OP_WRITE, this); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]