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=1637917&r1=1637916&r2=1637917&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:45:04 2014 @@ -378,7 +378,7 @@ public class Nio2Endpoint extends Abstra @Override public void run() { // Timeout any pending async request - for (SocketWrapper<Nio2Channel> socket : waitingRequests) { + for (SocketWrapperBase<Nio2Channel> socket : waitingRequests) { processSocket(socket, SocketStatus.TIMEOUT, false); } // Then close all active connections if any remains @@ -566,12 +566,12 @@ public class Nio2Endpoint extends Abstra @Override - public void processSocket(SocketWrapper<Nio2Channel> socketWrapper, + public void processSocket(SocketWrapperBase<Nio2Channel> socketWrapper, SocketStatus socketStatus, boolean dispatch) { processSocket0(socketWrapper, socketStatus, dispatch); } - protected boolean processSocket0(SocketWrapper<Nio2Channel> socketWrapper, SocketStatus status, boolean dispatch) { + protected boolean processSocket0(SocketWrapperBase<Nio2Channel> socketWrapper, SocketStatus status, boolean dispatch) { try { SocketProcessor sc = (useCaches) ? processorCache.pop() : null; if (sc == null) { @@ -598,7 +598,7 @@ public class Nio2Endpoint extends Abstra return true; } - public void closeSocket(SocketWrapper<Nio2Channel> socket) { + public void closeSocket(SocketWrapperBase<Nio2Channel> socket) { if (socket == null) { return; } @@ -727,7 +727,7 @@ public class Nio2Endpoint extends Abstra } - public static class Nio2SocketWrapper extends SocketWrapper<Nio2Channel> { + public static class Nio2SocketWrapper extends SocketWrapperBase<Nio2Channel> { private SendfileData sendfileData = null; private boolean upgradeInit = false; @@ -799,9 +799,9 @@ public class Nio2Endpoint extends Abstra * thread local fields. */ public interface Handler extends AbstractEndpoint.Handler { - public SocketState process(SocketWrapper<Nio2Channel> socket, + public SocketState process(SocketWrapperBase<Nio2Channel> socket, SocketStatus status); - public void release(SocketWrapper<Nio2Channel> socket); + public void release(SocketWrapperBase<Nio2Channel> socket); public void closeAll(); public SSLImplementation getSslImplementation(); public void onCreateSSLEngine(SSLEngine engine); @@ -810,11 +810,11 @@ public class Nio2Endpoint extends Abstra /** * The completion handler used for asynchronous read operations */ - private CompletionHandler<Integer, SocketWrapper<Nio2Channel>> awaitBytes - = new CompletionHandler<Integer, SocketWrapper<Nio2Channel>>() { + private CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>> awaitBytes + = new CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>>() { @Override - public synchronized void completed(Integer nBytes, SocketWrapper<Nio2Channel> attachment) { + public synchronized void completed(Integer nBytes, SocketWrapperBase<Nio2Channel> attachment) { if (nBytes.intValue() < 0) { failed(new ClosedChannelException(), attachment); return; @@ -823,16 +823,16 @@ public class Nio2Endpoint extends Abstra } @Override - public void failed(Throwable exc, SocketWrapper<Nio2Channel> attachment) { + public void failed(Throwable exc, SocketWrapperBase<Nio2Channel> attachment) { processSocket0(attachment, SocketStatus.DISCONNECT, true); } }; - public void addTimeout(SocketWrapper<Nio2Channel> socket) { + public void addTimeout(SocketWrapperBase<Nio2Channel> socket) { waitingRequests.add(socket); } - public boolean removeTimeout(SocketWrapper<Nio2Channel> socket) { + public boolean removeTimeout(SocketWrapperBase<Nio2Channel> socket) { return waitingRequests.remove(socket); } @@ -853,7 +853,7 @@ public class Nio2Endpoint extends Abstra } } - public void awaitBytes(SocketWrapper<Nio2Channel> socket) { + public void awaitBytes(SocketWrapperBase<Nio2Channel> socket) { if (socket == null || socket.getSocket() == null) { return; } @@ -996,14 +996,14 @@ public class Nio2Endpoint extends Abstra */ protected class SocketProcessor implements Runnable { - private SocketWrapper<Nio2Channel> socket = null; + private SocketWrapperBase<Nio2Channel> socket = null; private SocketStatus status = null; - public SocketProcessor(SocketWrapper<Nio2Channel> socket, SocketStatus status) { + public SocketProcessor(SocketWrapperBase<Nio2Channel> socket, SocketStatus status) { reset(socket,status); } - public void reset(SocketWrapper<Nio2Channel> socket, SocketStatus status) { + public void reset(SocketWrapperBase<Nio2Channel> socket, SocketStatus status) { this.socket = socket; this.status = status; }
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java?rev=1637917&r1=1637916&r2=1637917&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java Mon Nov 10 16:45:04 2014 @@ -35,7 +35,7 @@ import org.apache.juli.logging.LogFactor import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.collections.SynchronizedQueue; import org.apache.tomcat.util.collections.SynchronizedStack; -import org.apache.tomcat.util.net.NioEndpoint.KeyAttachment; +import org.apache.tomcat.util.net.NioEndpoint.NioSocketWrapper; public class NioBlockingSelector { @@ -90,7 +90,7 @@ public class NioBlockingSelector { if (reference == null) { reference = new KeyReference(); } - KeyAttachment att = (KeyAttachment) key.attachment(); + NioSocketWrapper att = (NioSocketWrapper) key.attachment(); int written = 0; boolean timedout = false; int keycount = 1; //assume we can write @@ -162,7 +162,7 @@ public class NioBlockingSelector { if (reference == null) { reference = new KeyReference(); } - KeyAttachment att = (KeyAttachment) key.attachment(); + NioSocketWrapper att = (NioSocketWrapper) key.attachment(); int read = 0; boolean timedout = false; int keycount = 1; //assume we can read @@ -234,7 +234,7 @@ public class NioBlockingSelector { if (wakeupCounter.addAndGet(1)==0) selector.wakeup(); } - public void cancel(SelectionKey sk, KeyAttachment key, int ops){ + public void cancel(SelectionKey sk, NioSocketWrapper key, int ops){ if (sk!=null) { sk.cancel(); sk.attach(null); @@ -243,7 +243,7 @@ public class NioBlockingSelector { } } - public void add(final KeyAttachment key, final int ops, final KeyReference ref) { + public void add(final NioSocketWrapper key, final int ops, final KeyReference ref) { if ( key == null ) return; NioChannel nch = key.getSocket(); if ( nch == null ) return; @@ -274,7 +274,7 @@ public class NioBlockingSelector { wakeup(); } - public void remove(final KeyAttachment key, final int ops) { + public void remove(final NioSocketWrapper key, final int ops) { if ( key == null ) return; NioChannel nch = key.getSocket(); if ( nch == null ) return; @@ -364,7 +364,7 @@ public class NioBlockingSelector { // any active event. while (run && iterator != null && iterator.hasNext()) { SelectionKey sk = iterator.next(); - KeyAttachment attachment = (KeyAttachment)sk.attachment(); + NioSocketWrapper attachment = (NioSocketWrapper)sk.attachment(); try { attachment.access(); iterator.remove(); 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=1637917&r1=1637916&r2=1637917&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:45:04 2014 @@ -132,7 +132,7 @@ public class NioEndpoint extends Abstrac /** * Cache for key attachment objects */ - private SynchronizedStack<KeyAttachment> keyCache; + private SynchronizedStack<NioSocketWrapper> keyCache; /** * Cache for poller events @@ -590,17 +590,17 @@ public class NioEndpoint extends Abstrac @Override - public void processSocket(SocketWrapper<NioChannel> socketWrapper, + public void processSocket(SocketWrapperBase<NioChannel> socketWrapper, SocketStatus socketStatus, boolean dispatch) { NioChannel socket = socketWrapper.getSocket(); if (socket.isOpen() && dispatch && socketStatus == SocketStatus.OPEN_READ) { socket.getPoller().add(socket, OP_CALLBACK); } else { - processSocket((KeyAttachment) socketWrapper, socketStatus, dispatch); + processSocket((NioSocketWrapper) socketWrapper, socketStatus, dispatch); } } - protected boolean processSocket(KeyAttachment attachment, SocketStatus status, boolean dispatch) { + protected boolean processSocket(NioSocketWrapper attachment, SocketStatus status, boolean dispatch) { try { if (attachment == null) { return false; @@ -756,13 +756,13 @@ public class NioEndpoint extends Abstrac private NioChannel socket; private int interestOps; - private KeyAttachment key; + private NioSocketWrapper key; - public PollerEvent(NioChannel ch, KeyAttachment k, int intOps) { + public PollerEvent(NioChannel ch, NioSocketWrapper k, int intOps) { reset(ch, k, intOps); } - public void reset(NioChannel ch, KeyAttachment k, int intOps) { + public void reset(NioChannel ch, NioSocketWrapper k, int intOps) { socket = ch; interestOps = intOps; key = k; @@ -785,7 +785,7 @@ public class NioEndpoint extends Abstrac try { boolean cancel = false; if (key != null) { - final KeyAttachment att = (KeyAttachment) key.attachment(); + final NioSocketWrapper att = (NioSocketWrapper) key.attachment(); if ( att!=null ) { //handle callback flag if ((interestOps & OP_CALLBACK) == OP_CALLBACK ) { @@ -887,7 +887,7 @@ public class NioEndpoint extends Abstrac } addEvent(r); if (close) { - NioEndpoint.KeyAttachment ka = (NioEndpoint.KeyAttachment)socket.getAttachment(false); + NioEndpoint.NioSocketWrapper ka = (NioEndpoint.NioSocketWrapper)socket.getAttachment(false); processSocket(ka, SocketStatus.STOP, false); } } @@ -925,8 +925,8 @@ public class NioEndpoint extends Abstrac */ public void register(final NioChannel socket) { socket.setPoller(this); - KeyAttachment key = keyCache.pop(); - final KeyAttachment ka = key!=null?key:new KeyAttachment(socket); + NioSocketWrapper key = keyCache.pop(); + final NioSocketWrapper ka = key!=null?key:new NioSocketWrapper(socket); ka.reset(this,socket,getSocketProperties().getSoTimeout()); ka.setKeepAliveLeft(NioEndpoint.this.getMaxKeepAliveRequests()); ka.setSecure(isSSLEnabled()); @@ -940,7 +940,7 @@ public class NioEndpoint extends Abstrac public void cancelledKey(SelectionKey key) { try { if ( key == null ) return;//nothing to do - KeyAttachment ka = (KeyAttachment) key.attachment(); + NioSocketWrapper ka = (NioSocketWrapper) key.attachment(); key.attach(null); if (ka!=null) handler.release(ka); else handler.release((SocketChannel)key.channel()); @@ -1052,7 +1052,7 @@ public class NioEndpoint extends Abstrac // any active event. while (iterator != null && iterator.hasNext()) { SelectionKey sk = iterator.next(); - KeyAttachment attachment = (KeyAttachment)sk.attachment(); + NioSocketWrapper attachment = (NioSocketWrapper)sk.attachment(); // Attachment may be null if another thread has called // cancelledKey() if (attachment == null) { @@ -1086,7 +1086,7 @@ public class NioEndpoint extends Abstrac stopLatch.countDown(); } - protected boolean processKey(SelectionKey sk, KeyAttachment attachment) { + protected boolean processKey(SelectionKey sk, NioSocketWrapper attachment) { boolean result = true; try { if ( close ) { @@ -1132,7 +1132,7 @@ public class NioEndpoint extends Abstrac return result; } - public boolean processSendfile(SelectionKey sk, KeyAttachment attachment, boolean event) { + public boolean processSendfile(SelectionKey sk, NioSocketWrapper attachment, boolean event) { NioChannel sc = null; try { unreg(sk, attachment, sk.readyOps()); @@ -1229,12 +1229,12 @@ public class NioEndpoint extends Abstrac return true; } - protected void unreg(SelectionKey sk, KeyAttachment attachment, int readyOps) { + protected void unreg(SelectionKey sk, NioSocketWrapper attachment, int readyOps) { //this is a must, so that we don't have multiple threads messing with the socket reg(sk,attachment,sk.interestOps()& (~readyOps)); } - protected void reg(SelectionKey sk, KeyAttachment attachment, int intops) { + protected void reg(SelectionKey sk, NioSocketWrapper attachment, int intops) { sk.interestOps(intops); attachment.interestOps(intops); } @@ -1258,7 +1258,7 @@ public class NioEndpoint extends Abstrac SelectionKey key = iter.next(); keycount++; try { - KeyAttachment ka = (KeyAttachment) key.attachment(); + NioSocketWrapper ka = (NioSocketWrapper) key.attachment(); if ( ka == null ) { cancelledKey(key); //we don't support any keys without attachments } else if ( ka.getError() ) { @@ -1319,9 +1319,9 @@ public class NioEndpoint extends Abstrac } // ----------------------------------------------------- Key Attachment Class - public static class KeyAttachment extends SocketWrapper<NioChannel> { + public static class NioSocketWrapper extends SocketWrapperBase<NioChannel> { - public KeyAttachment(NioChannel channel) { + public NioSocketWrapper(NioChannel channel) { super(channel); } @@ -1443,9 +1443,9 @@ public class NioEndpoint extends Abstrac * thread local fields. */ public interface Handler extends AbstractEndpoint.Handler { - public SocketState process(SocketWrapper<NioChannel> socket, + public SocketState process(SocketWrapperBase<NioChannel> socket, SocketStatus status); - public void release(SocketWrapper<NioChannel> socket); + public void release(SocketWrapperBase<NioChannel> socket); public void release(SocketChannel socket); public SSLImplementation getSslImplementation(); public void onCreateSSLEngine(SSLEngine engine); @@ -1459,14 +1459,14 @@ public class NioEndpoint extends Abstrac */ protected class SocketProcessor implements Runnable { - private KeyAttachment ka = null; + private NioSocketWrapper ka = null; private SocketStatus status = null; - public SocketProcessor(KeyAttachment ka, SocketStatus status) { + public SocketProcessor(NioSocketWrapper ka, SocketStatus status) { reset(ka, status); } - public void reset(KeyAttachment ka, SocketStatus status) { + public void reset(NioSocketWrapper ka, SocketStatus status) { this.ka = ka; this.status = status; } @@ -1491,7 +1491,7 @@ public class NioEndpoint extends Abstrac } } - private void doRun(SelectionKey key, KeyAttachment ka) { + private void doRun(SelectionKey key, NioSocketWrapper ka) { NioChannel socket = ka.getSocket(); try { Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java?rev=1637917&r1=1637916&r2=1637917&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java Mon Nov 10 16:45:04 2014 @@ -57,8 +57,8 @@ public class SecureNio2Channel extends N protected volatile boolean readPending; protected volatile boolean writePending; - private CompletionHandler<Integer, SocketWrapper<Nio2Channel>> handshakeReadCompletionHandler; - private CompletionHandler<Integer, SocketWrapper<Nio2Channel>> handshakeWriteCompletionHandler; + private CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>> handshakeReadCompletionHandler; + private CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>> handshakeWriteCompletionHandler; public SecureNio2Channel(SSLEngine engine, ApplicationBufferHandler bufHandler, Nio2Endpoint endpoint0) { @@ -73,9 +73,9 @@ public class SecureNio2Channel extends N netInBuffer = ByteBuffer.allocate(netBufSize); netOutBuffer = ByteBuffer.allocate(netBufSize); } - handshakeReadCompletionHandler = new CompletionHandler<Integer, SocketWrapper<Nio2Channel>>() { + handshakeReadCompletionHandler = new CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>>() { @Override - public void completed(Integer result, SocketWrapper<Nio2Channel> attachment) { + public void completed(Integer result, SocketWrapperBase<Nio2Channel> attachment) { if (result.intValue() < 0) { failed(new EOFException(), attachment); return; @@ -83,13 +83,13 @@ public class SecureNio2Channel extends N endpoint.processSocket(attachment, SocketStatus.OPEN_READ, false); } @Override - public void failed(Throwable exc, SocketWrapper<Nio2Channel> attachment) { + public void failed(Throwable exc, SocketWrapperBase<Nio2Channel> attachment) { endpoint.closeSocket(attachment); } }; - handshakeWriteCompletionHandler = new CompletionHandler<Integer, SocketWrapper<Nio2Channel>>() { + handshakeWriteCompletionHandler = new CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>>() { @Override - public void completed(Integer result, SocketWrapper<Nio2Channel> attachment) { + public void completed(Integer result, SocketWrapperBase<Nio2Channel> attachment) { if (result.intValue() < 0) { failed(new EOFException(), attachment); return; @@ -97,7 +97,7 @@ public class SecureNio2Channel extends N endpoint.processSocket(attachment, SocketStatus.OPEN_WRITE, false); } @Override - public void failed(Throwable exc, SocketWrapper<Nio2Channel> attachment) { + public void failed(Throwable exc, SocketWrapperBase<Nio2Channel> attachment) { endpoint.closeSocket(attachment); } }; @@ -108,7 +108,7 @@ public class SecureNio2Channel extends N } @Override - public void reset(AsynchronousSocketChannel channel, SocketWrapper<Nio2Channel> socket) + public void reset(AsynchronousSocketChannel channel, SocketWrapperBase<Nio2Channel> socket) throws IOException { super.reset(channel, socket); netOutBuffer.position(0); Copied: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java (from r1637916, tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java) URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java?p2=tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java&p1=tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java&r1=1637916&r2=1637917&rev=1637917&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Mon Nov 10 16:45:04 2014 @@ -23,7 +23,7 @@ import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock; -public class SocketWrapper<E> { +public abstract class SocketWrapperBase<E> { private volatile E socket; @@ -64,7 +64,7 @@ public class SocketWrapper<E> { private Set<DispatchType> dispatches = new CopyOnWriteArraySet<>(); - public SocketWrapper(E socket) { + public SocketWrapperBase(E socket) { this.socket = socket; ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); this.blockingStatusReadLock = lock.readLock(); Propchange: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: tomcat/trunk/test/org/apache/coyote/http11/filters/TesterOutputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/coyote/http11/filters/TesterOutputBuffer.java?rev=1637917&r1=1637916&r2=1637917&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/coyote/http11/filters/TesterOutputBuffer.java (original) +++ tomcat/trunk/test/org/apache/coyote/http11/filters/TesterOutputBuffer.java Mon Nov 10 16:45:04 2014 @@ -26,7 +26,7 @@ import org.apache.coyote.Response; import org.apache.coyote.http11.AbstractOutputBuffer; import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.net.AbstractEndpoint; -import org.apache.tomcat.util.net.SocketWrapper; +import org.apache.tomcat.util.net.SocketWrapperBase; /** * Output buffer for use in unit tests. This is a minimal implementation. @@ -52,7 +52,7 @@ public class TesterOutputBuffer extends // --------------------------------------------------------- Public Methods @Override - public void init(SocketWrapper<Socket> socketWrapper, + public void init(SocketWrapperBase<Socket> socketWrapper, AbstractEndpoint<Socket> endpoint) throws IOException { // NO-OP: Unused } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org