Author: violetagg
Date: Fri Aug 26 09:10:46 2016
New Revision: 1757799

URL: http://svn.apache.org/viewvc?rev=1757799&view=rev
Log:
Introduce a new method SocketWrapperBase.addToBuffers(ByteBuffer)

Modified:
    tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java?rev=1757799&r1=1757798&r2=1757799&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Fri Aug 
26 09:10:46 2016
@@ -514,13 +514,25 @@ public abstract class SocketWrapperBase<
 
 
     protected void addToBuffers(byte[] buf, int offset, int length) {
+        ByteBufferHolder holder = getByteBufferHolder(length);
+        holder.getBuf().put(buf, offset, length);
+    }
+
+
+    protected void addToBuffers(ByteBuffer from) {
+        ByteBufferHolder holder = getByteBufferHolder(from.remaining());
+        holder.getBuf().put(from);
+    }
+
+
+    private ByteBufferHolder getByteBufferHolder(int capacity) {
         ByteBufferHolder holder = bufferedWrites.peekLast();
-        if (holder == null || holder.isFlipped() || 
holder.getBuf().remaining() < length) {
-            ByteBuffer buffer = 
ByteBuffer.allocate(Math.max(bufferedWriteSize, length));
+        if (holder == null || holder.isFlipped() || 
holder.getBuf().remaining() < capacity) {
+            ByteBuffer buffer = 
ByteBuffer.allocate(Math.max(bufferedWriteSize, capacity));
             holder = new ByteBufferHolder(buffer, false);
             bufferedWrites.add(holder);
         }
-        holder.getBuf().put(buf, offset, length);
+        return holder;
     }
 
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to