Package org.apache.tomcat.util.net
Class NioEndpoint.NioSocketWrapper
java.lang.Object
org.apache.tomcat.util.net.SocketWrapperBase<NioChannel>
org.apache.tomcat.util.net.NioEndpoint.NioSocketWrapper
- Enclosing class:
- NioEndpoint
- 
Nested Class SummaryNested classes/interfaces inherited from class org.apache.tomcat.util.net.SocketWrapperBaseSocketWrapperBase.BlockingMode, SocketWrapperBase.CompletionCheck, SocketWrapperBase.CompletionHandlerCall, SocketWrapperBase.CompletionState, SocketWrapperBase.OperationState<A>, SocketWrapperBase.VectoredIOCompletionHandler<A>
- 
Field SummaryFields inherited from class org.apache.tomcat.util.net.SocketWrapperBasebufferedWriteSize, closed, COMPLETE_READ, COMPLETE_READ_WITH_COMPLETION, COMPLETE_WRITE, COMPLETE_WRITE_WITH_COMPLETION, localAddr, localName, localPort, nonBlockingWriteBuffer, previousIOException, READ_DATA, readOperation, readPending, remoteAddr, remoteHost, remotePort, servletConnection, sm, socketBufferHandler, writeOperation, writePending
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptioncreateSendfileData(String filename, long pos, long length) voiddoClientAuth(SSLSupport sslSupport) Require the client to perform CLIENT-CERT authentication if it hasn't already done so.protected voiddoClose()Perform the actual close.protected voiddoWrite(boolean block, ByteBuffer buffer) Write the contents of the ByteBuffer to the socket.protected booleanWrites as much data as possible from any that remains in the buffers.longlongObtain an SSLSupport instance for this socket.intintinterestOps(int ops) booleaninterestOpsHas(int targetOp) booleanprotected <A> SocketWrapperBase<NioChannel>.OperationState<A>newOperationState(boolean read, ByteBuffer[] buffers, int offset, int length, SocketWrapperBase.BlockingMode block, long timeout, TimeUnit unit, A attachment, SocketWrapperBase.CompletionCheck check, CompletionHandler<Long, ? super A> handler, Semaphore semaphore, SocketWrapperBase<NioChannel>.VectoredIOCompletionHandler<A> completion) protected voidprotected voidprotected voidprotected voidprotected voidprotected voidprocessSendfile(SendfileDataBase sendfileData) Starts the sendfile process.intread(boolean block, byte[] b, int off, int len) intread(boolean block, ByteBuffer to) voidvoidvoidvoidvoidvoidMethods inherited from class org.apache.tomcat.util.net.SocketWrapperBasebuffersArrayHasRemaining, canWrite, checkError, close, decrementKeepAlive, doWrite, execute, flush, flushBlocking, getCurrentProcessor, getEndpoint, getError, getLocalAddr, getLocalName, getLocalPort, getLock, getNegotiatedProtocol, getReadTimeout, getRemoteAddr, getRemoteHost, getRemotePort, getServletConnection, getSocket, getSocketBufferHandler, getWriteTimeout, hasAsyncIO, hasDataToRead, hasDataToWrite, hasPerOperationTimeout, isClosed, isReadPending, isReadyForWrite, isWritePending, needSemaphores, populateReadBuffer, populateReadBuffer, processSocket, read, read, read, reset, setCurrentProcessor, setError, setKeepAliveLeft, setNegotiatedProtocol, setReadTimeout, setWriteTimeout, takeCurrentProcessor, toString, transfer, transfer, unRead, vectoredOperation, write, write, write, write, write, writeBlocking, writeBlocking, writeNonBlocking, writeNonBlocking, writeNonBlockingInternal
- 
Constructor Details- 
NioSocketWrapper
 
- 
- 
Method Details- 
getPoller
- 
interestOpspublic int interestOps()
- 
interestOpspublic int interestOps(int ops) 
- 
interestOpsHaspublic boolean interestOpsHas(int targetOp) 
- 
setSendfileData
- 
getSendfileData
- 
updateLastWritepublic void updateLastWrite()
- 
getLastWritepublic long getLastWrite()
- 
updateLastReadpublic void updateLastRead()
- 
getLastReadpublic long getLastRead()
- 
isReadyForRead- Specified by:
- isReadyForReadin class- SocketWrapperBase<NioChannel>
- Throws:
- IOException
 
- 
read- Specified by:
- readin class- SocketWrapperBase<NioChannel>
- Throws:
- IOException
 
- 
read- Specified by:
- readin class- SocketWrapperBase<NioChannel>
- Throws:
- IOException
 
- 
doCloseprotected void doClose()Description copied from class:SocketWrapperBasePerform the actual close. The closed atomic boolean guarantees this will be called only once per wrapper.- Specified by:
- doClosein class- SocketWrapperBase<NioChannel>
 
- 
flushNonBlockingDescription copied from class:SocketWrapperBaseWrites as much data as possible from any that remains in the buffers.- Specified by:
- flushNonBlockingin class- SocketWrapperBase<NioChannel>
- Returns:
- trueif data remains to be flushed after this method completes, otherwise- false.
- Throws:
- IOException- If an IO error occurs during the write
 
- 
doWriteDescription copied from class:SocketWrapperBaseWrite the contents of the ByteBuffer to the socket. For blocking writes either then entire contents of the buffer will be written or an IOException will be thrown. Partial blocking writes will not occur.- Specified by:
- doWritein class- SocketWrapperBase<NioChannel>
- Parameters:
- block- Should the write be blocking or not?
- buffer- the ByteBuffer containing the data to be written
- Throws:
- IOException- If an I/O error such as a timeout occurs during the write
 
- 
registerReadInterestpublic void registerReadInterest()- Specified by:
- registerReadInterestin class- SocketWrapperBase<NioChannel>
 
- 
registerWriteInterestpublic void registerWriteInterest()- Specified by:
- registerWriteInterestin class- SocketWrapperBase<NioChannel>
 
- 
createSendfileData- Specified by:
- createSendfileDatain class- SocketWrapperBase<NioChannel>
 
- 
processSendfileDescription copied from class:SocketWrapperBaseStarts the sendfile process. It is expected that if the sendfile process does not complete during this call and does not report an error, that the caller will not add the socket to the poller (or equivalent). That is the responsibility of this method.- Specified by:
- processSendfilein class- SocketWrapperBase<NioChannel>
- Parameters:
- sendfileData- Data representing the file to send
- Returns:
- The state of the sendfile process after the first write.
 
- 
populateRemoteAddrprotected void populateRemoteAddr()- Specified by:
- populateRemoteAddrin class- SocketWrapperBase<NioChannel>
 
- 
populateRemoteHostprotected void populateRemoteHost()- Specified by:
- populateRemoteHostin class- SocketWrapperBase<NioChannel>
 
- 
populateRemotePortprotected void populateRemotePort()- Specified by:
- populateRemotePortin class- SocketWrapperBase<NioChannel>
 
- 
populateLocalNameprotected void populateLocalName()- Specified by:
- populateLocalNamein class- SocketWrapperBase<NioChannel>
 
- 
populateLocalAddrprotected void populateLocalAddr()- Specified by:
- populateLocalAddrin class- SocketWrapperBase<NioChannel>
 
- 
populateLocalPortprotected void populateLocalPort()- Specified by:
- populateLocalPortin class- SocketWrapperBase<NioChannel>
 
- 
getSslSupportDescription copied from class:SocketWrapperBaseObtain an SSLSupport instance for this socket.- Specified by:
- getSslSupportin class- SocketWrapperBase<NioChannel>
- Returns:
- An SSLSupport instance for this socket.
 
- 
doClientAuthDescription copied from class:SocketWrapperBaseRequire the client to perform CLIENT-CERT authentication if it hasn't already done so.- Specified by:
- doClientAuthin class- SocketWrapperBase<NioChannel>
- Parameters:
- sslSupport- The SSL/TLS support instance currently being used by the connection that may need updating after the client authentication
- Throws:
- IOException- If authentication is required then there will be I/O with the client and this exception will be thrown if that goes wrong
 
- 
setAppReadBufHandler- Specified by:
- setAppReadBufHandlerin class- SocketWrapperBase<NioChannel>
 
- 
newOperationStateprotected <A> SocketWrapperBase<NioChannel>.OperationState<A> newOperationState(boolean read, ByteBuffer[] buffers, int offset, int length, SocketWrapperBase.BlockingMode block, long timeout, TimeUnit unit, A attachment, SocketWrapperBase.CompletionCheck check, CompletionHandler<Long, ? super A> handler, Semaphore semaphore, SocketWrapperBase<NioChannel>.VectoredIOCompletionHandler<A> completion) - Specified by:
- newOperationStatein class- SocketWrapperBase<NioChannel>
 
 
-