Package io.undertow.conduits
Class IdleTimeoutConduit
- java.lang.Object
-
- io.undertow.conduits.IdleTimeoutConduit
-
- All Implemented Interfaces:
org.xnio.conduits.Conduit,org.xnio.conduits.SinkConduit,org.xnio.conduits.SourceConduit,org.xnio.conduits.StreamSinkConduit,org.xnio.conduits.StreamSourceConduit
public class IdleTimeoutConduit extends Object implements org.xnio.conduits.StreamSinkConduit, org.xnio.conduits.StreamSourceConduit
Conduit that adds support to close a channel once for a specified time no reads and no writes were performed.- Author:
- Norman Maurer
-
-
Constructor Summary
Constructors Constructor Description IdleTimeoutConduit(org.xnio.StreamConnection connection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidawaitReadable()voidawaitReadable(long time, TimeUnit timeUnit)voidawaitWritable()voidawaitWritable(long time, TimeUnit timeUnit)protected voiddoClose()booleanflush()longgetIdleTimeout()org.xnio.XnioIoThreadgetReadThread()org.xnio.XnioWorkergetWorker()org.xnio.XnioIoThreadgetWriteThread()booleanisReadResumed()booleanisReadShutdown()booleanisWriteResumed()booleanisWriteShutdown()intread(ByteBuffer dst)longread(ByteBuffer[] dsts, int offset, int length)voidresumeReads()voidresumeWrites()voidsetIdleTimeout(long idleTimeout)voidsetReadReadyHandler(org.xnio.conduits.ReadReadyHandler handler)voidsetWriteReadyHandler(org.xnio.conduits.WriteReadyHandler handler)voidsuspendReads()voidsuspendWrites()voidterminateReads()voidterminateWrites()longtransferFrom(FileChannel src, long position, long count)longtransferFrom(org.xnio.channels.StreamSourceChannel source, long count, ByteBuffer throughBuffer)longtransferTo(long position, long count, FileChannel target)longtransferTo(long count, ByteBuffer throughBuffer, org.xnio.channels.StreamSinkChannel target)voidtruncateWrites()voidwakeupReads()voidwakeupWrites()intwrite(ByteBuffer src)longwrite(ByteBuffer[] srcs, int offset, int length)intwriteFinal(ByteBuffer src)longwriteFinal(ByteBuffer[] srcs, int offset, int length)
-
-
-
Method Detail
-
doClose
protected void doClose()
-
write
public int write(ByteBuffer src) throws IOException
- Specified by:
writein interfaceorg.xnio.conduits.StreamSinkConduit- Throws:
IOException
-
write
public long write(ByteBuffer[] srcs, int offset, int length) throws IOException
- Specified by:
writein interfaceorg.xnio.conduits.StreamSinkConduit- Throws:
IOException
-
writeFinal
public int writeFinal(ByteBuffer src) throws IOException
- Specified by:
writeFinalin interfaceorg.xnio.conduits.StreamSinkConduit- Throws:
IOException
-
writeFinal
public long writeFinal(ByteBuffer[] srcs, int offset, int length) throws IOException
- Specified by:
writeFinalin interfaceorg.xnio.conduits.StreamSinkConduit- Throws:
IOException
-
transferTo
public long transferTo(long position, long count, FileChannel target) throws IOException- Specified by:
transferToin interfaceorg.xnio.conduits.StreamSourceConduit- Throws:
IOException
-
transferTo
public long transferTo(long count, ByteBuffer throughBuffer, org.xnio.channels.StreamSinkChannel target) throws IOException- Specified by:
transferToin interfaceorg.xnio.conduits.StreamSourceConduit- Throws:
IOException
-
read
public long read(ByteBuffer[] dsts, int offset, int length) throws IOException
- Specified by:
readin interfaceorg.xnio.conduits.StreamSourceConduit- Throws:
IOException
-
read
public int read(ByteBuffer dst) throws IOException
- Specified by:
readin interfaceorg.xnio.conduits.StreamSourceConduit- Throws:
IOException
-
transferFrom
public long transferFrom(FileChannel src, long position, long count) throws IOException
- Specified by:
transferFromin interfaceorg.xnio.conduits.StreamSinkConduit- Throws:
IOException
-
transferFrom
public long transferFrom(org.xnio.channels.StreamSourceChannel source, long count, ByteBuffer throughBuffer) throws IOException- Specified by:
transferFromin interfaceorg.xnio.conduits.StreamSinkConduit- Throws:
IOException
-
suspendReads
public void suspendReads()
- Specified by:
suspendReadsin interfaceorg.xnio.conduits.SourceConduit
-
terminateReads
public void terminateReads() throws IOException- Specified by:
terminateReadsin interfaceorg.xnio.conduits.SourceConduit- Throws:
IOException
-
isReadShutdown
public boolean isReadShutdown()
- Specified by:
isReadShutdownin interfaceorg.xnio.conduits.SourceConduit
-
resumeReads
public void resumeReads()
- Specified by:
resumeReadsin interfaceorg.xnio.conduits.SourceConduit
-
isReadResumed
public boolean isReadResumed()
- Specified by:
isReadResumedin interfaceorg.xnio.conduits.SourceConduit
-
wakeupReads
public void wakeupReads()
- Specified by:
wakeupReadsin interfaceorg.xnio.conduits.SourceConduit
-
awaitReadable
public void awaitReadable() throws IOException- Specified by:
awaitReadablein interfaceorg.xnio.conduits.SourceConduit- Throws:
IOException
-
awaitReadable
public void awaitReadable(long time, TimeUnit timeUnit) throws IOException- Specified by:
awaitReadablein interfaceorg.xnio.conduits.SourceConduit- Throws:
IOException
-
getReadThread
public org.xnio.XnioIoThread getReadThread()
- Specified by:
getReadThreadin interfaceorg.xnio.conduits.SourceConduit
-
setReadReadyHandler
public void setReadReadyHandler(org.xnio.conduits.ReadReadyHandler handler)
- Specified by:
setReadReadyHandlerin interfaceorg.xnio.conduits.SourceConduit
-
terminateWrites
public void terminateWrites() throws IOException- Specified by:
terminateWritesin interfaceorg.xnio.conduits.SinkConduit- Throws:
IOException
-
isWriteShutdown
public boolean isWriteShutdown()
- Specified by:
isWriteShutdownin interfaceorg.xnio.conduits.SinkConduit
-
resumeWrites
public void resumeWrites()
- Specified by:
resumeWritesin interfaceorg.xnio.conduits.SinkConduit
-
suspendWrites
public void suspendWrites()
- Specified by:
suspendWritesin interfaceorg.xnio.conduits.SinkConduit
-
wakeupWrites
public void wakeupWrites()
- Specified by:
wakeupWritesin interfaceorg.xnio.conduits.SinkConduit
-
isWriteResumed
public boolean isWriteResumed()
- Specified by:
isWriteResumedin interfaceorg.xnio.conduits.SinkConduit
-
awaitWritable
public void awaitWritable() throws IOException- Specified by:
awaitWritablein interfaceorg.xnio.conduits.SinkConduit- Throws:
IOException
-
awaitWritable
public void awaitWritable(long time, TimeUnit timeUnit) throws IOException- Specified by:
awaitWritablein interfaceorg.xnio.conduits.SinkConduit- Throws:
IOException
-
getWriteThread
public org.xnio.XnioIoThread getWriteThread()
- Specified by:
getWriteThreadin interfaceorg.xnio.conduits.SinkConduit
-
setWriteReadyHandler
public void setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler handler)
- Specified by:
setWriteReadyHandlerin interfaceorg.xnio.conduits.SinkConduit
-
truncateWrites
public void truncateWrites() throws IOException- Specified by:
truncateWritesin interfaceorg.xnio.conduits.SinkConduit- Throws:
IOException
-
flush
public boolean flush() throws IOException- Specified by:
flushin interfaceorg.xnio.conduits.SinkConduit- Throws:
IOException
-
getWorker
public org.xnio.XnioWorker getWorker()
- Specified by:
getWorkerin interfaceorg.xnio.conduits.Conduit
-
getIdleTimeout
public long getIdleTimeout()
-
setIdleTimeout
public void setIdleTimeout(long idleTimeout)
-
-