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 -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
awaitReadable
(long time, TimeUnit timeUnit) void
void
awaitWritable
(long time, TimeUnit timeUnit) protected void
doClose()
boolean
flush()
long
org.xnio.XnioIoThread
org.xnio.XnioWorker
org.xnio.XnioIoThread
boolean
boolean
boolean
boolean
int
read
(ByteBuffer dst) long
read
(ByteBuffer[] dsts, int offset, int length) void
void
void
setIdleTimeout
(long idleTimeout) void
setReadReadyHandler
(org.xnio.conduits.ReadReadyHandler handler) void
setWriteReadyHandler
(org.xnio.conduits.WriteReadyHandler handler) void
void
void
void
long
transferFrom
(FileChannel src, long position, long count) long
transferFrom
(org.xnio.channels.StreamSourceChannel source, long count, ByteBuffer throughBuffer) long
transferTo
(long position, long count, FileChannel target) long
transferTo
(long count, ByteBuffer throughBuffer, org.xnio.channels.StreamSinkChannel target) void
void
void
int
write
(ByteBuffer src) long
write
(ByteBuffer[] srcs, int offset, int length) int
writeFinal
(ByteBuffer src) long
writeFinal
(ByteBuffer[] srcs, int offset, int length)
-
Constructor Details
-
IdleTimeoutConduit
public IdleTimeoutConduit(org.xnio.StreamConnection connection)
-
-
Method Details
-
doClose
protected void doClose() -
write
- Specified by:
write
in interfaceorg.xnio.conduits.StreamSinkConduit
- Throws:
IOException
-
write
- Specified by:
write
in interfaceorg.xnio.conduits.StreamSinkConduit
- Throws:
IOException
-
writeFinal
- Specified by:
writeFinal
in interfaceorg.xnio.conduits.StreamSinkConduit
- Throws:
IOException
-
writeFinal
- Specified by:
writeFinal
in interfaceorg.xnio.conduits.StreamSinkConduit
- Throws:
IOException
-
transferTo
- Specified by:
transferTo
in interfaceorg.xnio.conduits.StreamSourceConduit
- Throws:
IOException
-
transferTo
public long transferTo(long count, ByteBuffer throughBuffer, org.xnio.channels.StreamSinkChannel target) throws IOException - Specified by:
transferTo
in interfaceorg.xnio.conduits.StreamSourceConduit
- Throws:
IOException
-
read
- Specified by:
read
in interfaceorg.xnio.conduits.StreamSourceConduit
- Throws:
IOException
-
read
- Specified by:
read
in interfaceorg.xnio.conduits.StreamSourceConduit
- Throws:
IOException
-
transferFrom
- Specified by:
transferFrom
in interfaceorg.xnio.conduits.StreamSinkConduit
- Throws:
IOException
-
transferFrom
public long transferFrom(org.xnio.channels.StreamSourceChannel source, long count, ByteBuffer throughBuffer) throws IOException - Specified by:
transferFrom
in interfaceorg.xnio.conduits.StreamSinkConduit
- Throws:
IOException
-
suspendReads
public void suspendReads()- Specified by:
suspendReads
in interfaceorg.xnio.conduits.SourceConduit
-
terminateReads
- Specified by:
terminateReads
in interfaceorg.xnio.conduits.SourceConduit
- Throws:
IOException
-
isReadShutdown
public boolean isReadShutdown()- Specified by:
isReadShutdown
in interfaceorg.xnio.conduits.SourceConduit
-
resumeReads
public void resumeReads()- Specified by:
resumeReads
in interfaceorg.xnio.conduits.SourceConduit
-
isReadResumed
public boolean isReadResumed()- Specified by:
isReadResumed
in interfaceorg.xnio.conduits.SourceConduit
-
wakeupReads
public void wakeupReads()- Specified by:
wakeupReads
in interfaceorg.xnio.conduits.SourceConduit
-
awaitReadable
- Specified by:
awaitReadable
in interfaceorg.xnio.conduits.SourceConduit
- Throws:
IOException
-
awaitReadable
- Specified by:
awaitReadable
in interfaceorg.xnio.conduits.SourceConduit
- Throws:
IOException
-
getReadThread
public org.xnio.XnioIoThread getReadThread()- Specified by:
getReadThread
in interfaceorg.xnio.conduits.SourceConduit
-
setReadReadyHandler
public void setReadReadyHandler(org.xnio.conduits.ReadReadyHandler handler) - Specified by:
setReadReadyHandler
in interfaceorg.xnio.conduits.SourceConduit
-
terminateWrites
- Specified by:
terminateWrites
in interfaceorg.xnio.conduits.SinkConduit
- Throws:
IOException
-
isWriteShutdown
public boolean isWriteShutdown()- Specified by:
isWriteShutdown
in interfaceorg.xnio.conduits.SinkConduit
-
resumeWrites
public void resumeWrites()- Specified by:
resumeWrites
in interfaceorg.xnio.conduits.SinkConduit
-
suspendWrites
public void suspendWrites()- Specified by:
suspendWrites
in interfaceorg.xnio.conduits.SinkConduit
-
wakeupWrites
public void wakeupWrites()- Specified by:
wakeupWrites
in interfaceorg.xnio.conduits.SinkConduit
-
isWriteResumed
public boolean isWriteResumed()- Specified by:
isWriteResumed
in interfaceorg.xnio.conduits.SinkConduit
-
awaitWritable
- Specified by:
awaitWritable
in interfaceorg.xnio.conduits.SinkConduit
- Throws:
IOException
-
awaitWritable
- Specified by:
awaitWritable
in interfaceorg.xnio.conduits.SinkConduit
- Throws:
IOException
-
getWriteThread
public org.xnio.XnioIoThread getWriteThread()- Specified by:
getWriteThread
in interfaceorg.xnio.conduits.SinkConduit
-
setWriteReadyHandler
public void setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler handler) - Specified by:
setWriteReadyHandler
in interfaceorg.xnio.conduits.SinkConduit
-
truncateWrites
- Specified by:
truncateWrites
in interfaceorg.xnio.conduits.SinkConduit
- Throws:
IOException
-
flush
- Specified by:
flush
in interfaceorg.xnio.conduits.SinkConduit
- Throws:
IOException
-
getWorker
public org.xnio.XnioWorker getWorker()- Specified by:
getWorker
in interfaceorg.xnio.conduits.Conduit
-
getIdleTimeout
public long getIdleTimeout() -
setIdleTimeout
public void setIdleTimeout(long idleTimeout)
-