Author: fhanik
Date: Sat Oct 20 08:49:58 2007
New Revision: 586748

URL: http://svn.apache.org/viewvc?rev=586748&view=rev
Log:
bring sand box up to date with patches from 6.0

Modified:
    
tomcat/sandbox/gdev6x/java/org/apache/coyote/http11/InternalNioOutputBuffer.java

Modified: 
tomcat/sandbox/gdev6x/java/org/apache/coyote/http11/InternalNioOutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/gdev6x/java/org/apache/coyote/http11/InternalNioOutputBuffer.java?rev=586748&r1=586747&r2=586748&view=diff
==============================================================================
--- 
tomcat/sandbox/gdev6x/java/org/apache/coyote/http11/InternalNioOutputBuffer.java
 (original)
+++ 
tomcat/sandbox/gdev6x/java/org/apache/coyote/http11/InternalNioOutputBuffer.java
 Sat Oct 20 08:49:58 2007
@@ -401,7 +401,7 @@
     // ------------------------------------------------ HTTP/1.1 Output Methods
 
 
-    /**
+    /** 
      * Send an acknoledgement.
      */
     public void sendAck()
@@ -409,8 +409,8 @@
 
         if (!committed) {
             //Socket.send(socket, Constants.ACK_BYTES, 0, 
Constants.ACK_BYTES.length) < 0
-            ByteBuffer buf = 
ByteBuffer.wrap(Constants.ACK_BYTES,0,Constants.ACK_BYTES.length);    
-            writeToSocket(buf,true);
+            socket.getBufHandler() 
.getWriteBuffer().put(Constants.ACK_BYTES,0,Constants.ACK_BYTES.length);    
+            writeToSocket(socket.getBufHandler() .getWriteBuffer(),true,true);
         }
 
     }
@@ -423,11 +423,8 @@
      * @throws IOException
      * @todo Fix non blocking write properly
      */
-    private synchronized int writeToSocket(ByteBuffer bytebuffer, boolean 
block) throws IOException {
-        if (socket.getBufHandler().getWriteBuffer() != bytebuffer) {
-            socket.getBufHandler().getWriteBuffer().put(bytebuffer);
-            bytebuffer = socket.getBufHandler().getWriteBuffer();
-        }
+    private synchronized int writeToSocket(ByteBuffer bytebuffer, boolean 
block, boolean flip) throws IOException {
+        if ( flip ) bytebuffer.flip();
 
         int written = 0;
         NioEndpoint.KeyAttachment att = 
(NioEndpoint.KeyAttachment)socket.getAttachment(false);
@@ -770,7 +767,7 @@
         //write to the socket, if there is anything to write
         if (socket.getBufHandler().getWriteBuffer().position() > 0) {
             socket.getBufHandler().getWriteBuffer().flip();
-            writeToSocket(socket.getBufHandler().getWriteBuffer(),true);
+            writeToSocket(socket.getBufHandler().getWriteBuffer(),true, false);
         }
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to