Package io.undertow.conduits
Class InflatingStreamSourceConduit
- java.lang.Object
-
- org.xnio.conduits.AbstractConduit<D>
-
- org.xnio.conduits.AbstractSourceConduit<D>
-
- org.xnio.conduits.AbstractStreamSourceConduit<org.xnio.conduits.StreamSourceConduit>
-
- io.undertow.conduits.InflatingStreamSourceConduit
-
- All Implemented Interfaces:
org.xnio.conduits.Conduit
,org.xnio.conduits.SourceConduit
,org.xnio.conduits.StreamSourceConduit
- Direct Known Subclasses:
GzipStreamSourceConduit
public class InflatingStreamSourceConduit extends org.xnio.conduits.AbstractStreamSourceConduit<org.xnio.conduits.StreamSourceConduit>
- Author:
- Stuart Douglas
-
-
Field Summary
Fields Modifier and Type Field Description static ConduitWrapper<org.xnio.conduits.StreamSourceConduit>
WRAPPER
-
Constructor Summary
Constructors Constructor Description InflatingStreamSourceConduit(HttpServerExchange exchange, org.xnio.conduits.StreamSourceConduit next)
InflatingStreamSourceConduit(HttpServerExchange exchange, org.xnio.conduits.StreamSourceConduit next, ObjectPool<Inflater> inflaterPool)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
dataDeflated(byte[] data, int off, int len)
static ObjectPool<Inflater>
newInstanceInflaterPool()
int
read(ByteBuffer dst)
long
read(ByteBuffer[] dsts, int offset, int length)
protected void
readFooter(ByteBuffer buf)
protected boolean
readHeader(ByteBuffer byteBuffer)
static ObjectPool<Inflater>
simpleInflaterPool(int poolSize)
void
terminateReads()
long
transferTo(long position, long count, FileChannel target)
long
transferTo(long count, ByteBuffer throughBuffer, org.xnio.channels.StreamSinkChannel target)
-
Methods inherited from class org.xnio.conduits.AbstractSourceConduit
awaitReadable, awaitReadable, getReadThread, isReadResumed, isReadShutdown, resumeReads, setReadReadyHandler, suspendReads, wakeupReads
-
-
-
-
Field Detail
-
WRAPPER
public static final ConduitWrapper<org.xnio.conduits.StreamSourceConduit> WRAPPER
-
-
Constructor Detail
-
InflatingStreamSourceConduit
public InflatingStreamSourceConduit(HttpServerExchange exchange, org.xnio.conduits.StreamSourceConduit next)
-
InflatingStreamSourceConduit
public InflatingStreamSourceConduit(HttpServerExchange exchange, org.xnio.conduits.StreamSourceConduit next, ObjectPool<Inflater> inflaterPool)
-
-
Method Detail
-
newInstanceInflaterPool
public static ObjectPool<Inflater> newInstanceInflaterPool()
-
simpleInflaterPool
public static ObjectPool<Inflater> simpleInflaterPool(int poolSize)
-
read
public int read(ByteBuffer dst) throws IOException
- Specified by:
read
in interfaceorg.xnio.conduits.StreamSourceConduit
- Overrides:
read
in classorg.xnio.conduits.AbstractStreamSourceConduit<org.xnio.conduits.StreamSourceConduit>
- Throws:
IOException
-
readFooter
protected void readFooter(ByteBuffer buf) throws IOException
- Throws:
IOException
-
readHeader
protected boolean readHeader(ByteBuffer byteBuffer) throws IOException
- Throws:
IOException
-
dataDeflated
protected void dataDeflated(byte[] data, int off, int len)
-
transferTo
public long transferTo(long position, long count, FileChannel target) throws IOException
- Specified by:
transferTo
in interfaceorg.xnio.conduits.StreamSourceConduit
- Overrides:
transferTo
in classorg.xnio.conduits.AbstractStreamSourceConduit<org.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
- Overrides:
transferTo
in classorg.xnio.conduits.AbstractStreamSourceConduit<org.xnio.conduits.StreamSourceConduit>
- Throws:
IOException
-
read
public long read(ByteBuffer[] dsts, int offset, int length) throws IOException
- Specified by:
read
in interfaceorg.xnio.conduits.StreamSourceConduit
- Overrides:
read
in classorg.xnio.conduits.AbstractStreamSourceConduit<org.xnio.conduits.StreamSourceConduit>
- Throws:
IOException
-
terminateReads
public void terminateReads() throws IOException
- Specified by:
terminateReads
in interfaceorg.xnio.conduits.SourceConduit
- Overrides:
terminateReads
in classorg.xnio.conduits.AbstractSourceConduit<org.xnio.conduits.StreamSourceConduit>
- Throws:
IOException
-
-