Author: markt
Date: Mon Nov 10 16:47:40 2014
New Revision: 1637938

URL: http://svn.apache.org/r1637938
Log:
No longer need implementation specific UpgradeServletOutputStreams.
Collapse the unnecessary class hierarchy.

Added:
    
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletOutputStream.java
   (contents, props changed)
      - copied, changed from r1637937, 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java
Removed:
    
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java
    
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java
    
tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java
    
tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioServletOutputStream.java
Modified:
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2Processor.java
    tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioProcessor.java
    tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
    tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
    tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
    tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java?rev=1637938&r1=1637937&r2=1637938&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractProcessor.java 
Mon Nov 10 16:47:40 2014
@@ -43,11 +43,11 @@ public abstract class AbstractProcessor<
 
     private final HttpUpgradeHandler httpUpgradeHandler;
     private final UpgradeServletInputStream upgradeServletInputStream;
-    private final AbstractServletOutputStream<S> upgradeServletOutputStream;
+    private final UpgradeServletOutputStream upgradeServletOutputStream;
 
     protected AbstractProcessor (HttpUpgradeHandler httpUpgradeHandler,
             UpgradeServletInputStream upgradeServletInputStream,
-            AbstractServletOutputStream<S> upgradeServletOutputStream) {
+            UpgradeServletOutputStream upgradeServletOutputStream) {
         this.httpUpgradeHandler = httpUpgradeHandler;
         this.upgradeServletInputStream = upgradeServletInputStream;
         this.upgradeServletOutputStream = upgradeServletOutputStream;

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprProcessor.java?rev=1637938&r1=1637937&r2=1637938&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/AprProcessor.java Mon 
Nov 10 16:47:40 2014
@@ -38,7 +38,7 @@ public class AprProcessor extends Abstra
             HttpUpgradeHandler httpUpgradeProcessor, int asyncWriteBufferSize) 
{
         super(httpUpgradeProcessor,
                 new UpgradeServletInputStream(wrapper),
-                new AprServletOutputStream(wrapper, asyncWriteBufferSize));
+                new UpgradeServletOutputStream(wrapper, asyncWriteBufferSize));
         ((AprSocketWrapper) wrapper).setLeftOverInput(leftOverInput);
         Socket.timeoutSet(wrapper.getSocket().longValue(), INFINITE_TIMEOUT);
     }

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2Processor.java?rev=1637938&r1=1637937&r2=1637938&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2Processor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2Processor.java Mon 
Nov 10 16:47:40 2014
@@ -37,7 +37,7 @@ public class Nio2Processor extends Abstr
             HttpUpgradeHandler httpUpgradeProcessor, int asyncWriteBufferSize) 
{
         super(httpUpgradeProcessor,
                 new UpgradeServletInputStream(wrapper),
-                new Nio2ServletOutputStream(wrapper, asyncWriteBufferSize));
+                new UpgradeServletOutputStream(wrapper, asyncWriteBufferSize));
 
         wrapper.setTimeout(INFINITE_TIMEOUT);
         if (leftoverInput != null) {

Modified: tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioProcessor.java?rev=1637938&r1=1637937&r2=1637938&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/upgrade/NioProcessor.java Mon 
Nov 10 16:47:40 2014
@@ -37,7 +37,7 @@ public class NioProcessor extends Abstra
             HttpUpgradeHandler httpUpgradeProcessor, int asyncWriteBufferSize) 
{
         super(httpUpgradeProcessor,
                 new UpgradeServletInputStream(wrapper),
-                new NioServletOutputStream(wrapper, asyncWriteBufferSize));
+                new UpgradeServletOutputStream(wrapper, asyncWriteBufferSize));
 
         wrapper.setTimeout(INFINITE_TIMEOUT);
         if (leftoverInput != null) {

Copied: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletOutputStream.java
 (from r1637937, 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java)
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletOutputStream.java?p2=tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletOutputStream.java&p1=tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java&r1=1637937&r2=1637938&rev=1637938&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java
 (original)
+++ 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletOutputStream.java
 Mon Nov 10 16:47:40 2014
@@ -26,12 +26,12 @@ import org.apache.tomcat.util.net.Dispat
 import org.apache.tomcat.util.net.SocketWrapperBase;
 import org.apache.tomcat.util.res.StringManager;
 
-public abstract class AbstractServletOutputStream<S> extends 
ServletOutputStream {
+public class UpgradeServletOutputStream extends ServletOutputStream {
 
     protected static final StringManager sm = StringManager.getManager(
-            AbstractServletOutputStream.class.getPackage().getName());
+            UpgradeServletOutputStream.class.getPackage().getName());
 
-    protected final SocketWrapperBase<S> socketWrapper;
+    protected final SocketWrapperBase<?> socketWrapper;
 
     // Used to ensure that isReady() and onWritePossible() have a consistent
     // view of buffer and fireListener when determining if the listener should
@@ -62,7 +62,7 @@ public abstract class AbstractServletOut
     private final int asyncWriteBufferSize;
 
 
-    public AbstractServletOutputStream(SocketWrapperBase<S> socketWrapper,
+    public UpgradeServletOutputStream(SocketWrapperBase<?> socketWrapper,
             int asyncWriteBufferSize) {
         this.socketWrapper = socketWrapper;
         this.asyncWriteBufferSize = asyncWriteBufferSize;
@@ -151,7 +151,7 @@ public abstract class AbstractServletOut
     private void writeInternal(byte[] b, int off, int len) throws IOException {
         if (listener == null) {
             // Simple case - blocking IO
-            doWrite(true, b, off, len);
+            socketWrapper.write(true, b, off, len);
         } else {
             // Non-blocking IO
             // If the non-blocking read does not complete, doWrite() will add
@@ -159,7 +159,7 @@ public abstract class AbstractServletOut
             // write event before this method has finished updating buffer. The
             // writeLock sync makes sure that buffer is updated before the next
             // write executes.
-            int written = doWrite(false, b, off, len);
+            int written = socketWrapper.write(false, b, off, len);
             if (written < len) {
                 if (b == buffer) {
                     // This is a partial write of the existing buffer. Just
@@ -239,16 +239,4 @@ public abstract class AbstractServletOut
             thread.setContextClassLoader(originalClassLoader);
         }
     }
-
-
-    /**
-     * Abstract method to be overridden by concrete implementations. The base
-     * class will ensure that there are no concurrent calls to this method for
-     * the same socket by ensuring that the writeLock is held when making any
-     * calls to this method.
-     */
-    protected abstract int doWrite(boolean block, byte[] b, int off, int len)
-            throws IOException;
-
-    protected abstract void doFlush() throws IOException;
 }

Propchange: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeServletOutputStream.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1637938&r1=1637937&r2=1637938&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Mon Nov 10 
16:47:40 2014
@@ -2483,6 +2483,7 @@ public class AprEndpoint extends Abstrac
         }
 
 
+        @Override
         public int write(boolean block, byte[] b, int off, int len) throws 
IOException {
 
             if (closed) {
@@ -2583,6 +2584,7 @@ public class AprEndpoint extends Abstrac
         }
 
 
+        @Override
         public void flush() {
             // NO-OP
         }

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java?rev=1637938&r1=1637937&r2=1637938&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Mon Nov 10 
16:47:40 2014
@@ -986,6 +986,7 @@ public class Nio2Endpoint extends Abstra
         }
 
 
+        @Override
         public int write(boolean block, byte[] b, int off, int len) throws 
IOException {
             int leftToWrite = len;
             int count = 0;
@@ -1060,6 +1061,7 @@ public class Nio2Endpoint extends Abstra
         }
 
 
+        @Override
         public void flush() throws IOException {
             try {
                 // Block until a possible non blocking write is done

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1637938&r1=1637937&r2=1637938&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Mon Nov 10 
16:47:40 2014
@@ -1517,8 +1517,8 @@ public class NioEndpoint extends Abstrac
         }
 
 
-        public int write(boolean block, byte[] b, int off, int len)
-                throws IOException {
+        @Override
+        public int write(boolean block, byte[] b, int off, int len) throws 
IOException {
             int leftToWrite = len;
             int count = 0;
             int offset = off;
@@ -1582,6 +1582,7 @@ public class NioEndpoint extends Abstrac
         }
 
 
+        @Override
         public void flush() throws IOException {
             NioEndpoint.NioSocketWrapper att =
                     (NioEndpoint.NioSocketWrapper) 
getSocket().getAttachment(false);

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=1637938&r1=1637937&r2=1637938&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Mon Nov 
10 16:47:40 2014
@@ -189,4 +189,7 @@ public abstract class SocketWrapperBase<
     public abstract int read(boolean block, byte[] b, int off, int len) throws 
IOException;
     public abstract boolean isReady() throws IOException;
     public abstract void close() throws IOException;
+
+    public abstract int write(boolean block, byte[] b, int off, int len) 
throws IOException;
+    public abstract void flush() throws IOException;
 }



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

Reply via email to