Class 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  
      • Fields inherited from class org.xnio.conduits.AbstractConduit

        next
    • 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<java.util.zip.Inflater> newInstanceInflaterPool()  
      int read​(java.nio.ByteBuffer dst)  
      long read​(java.nio.ByteBuffer[] dsts, int offset, int length)  
      protected void readFooter​(java.nio.ByteBuffer buf)  
      protected boolean readHeader​(java.nio.ByteBuffer byteBuffer)  
      static ObjectPool<java.util.zip.Inflater> simpleInflaterPool​(int poolSize)  
      void terminateReads()  
      long transferTo​(long position, long count, java.nio.channels.FileChannel target)  
      long transferTo​(long count, java.nio.ByteBuffer throughBuffer, org.xnio.channels.StreamSinkChannel target)  
      • Methods inherited from class org.xnio.conduits.AbstractSourceConduit

        awaitReadable, awaitReadable, getReadThread, isReadResumed, isReadShutdown, resumeReads, setReadReadyHandler, suspendReads, wakeupReads
      • Methods inherited from class org.xnio.conduits.AbstractConduit

        getWorker
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.xnio.conduits.Conduit

        getWorker
      • Methods inherited from interface org.xnio.conduits.SourceConduit

        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<java.util.zip.Inflater> inflaterPool)
    • Method Detail

      • newInstanceInflaterPool

        public static ObjectPool<java.util.zip.Inflater> newInstanceInflaterPool()
      • simpleInflaterPool

        public static ObjectPool<java.util.zip.Inflater> simpleInflaterPool​(int poolSize)
      • read

        public int read​(java.nio.ByteBuffer dst)
                 throws java.io.IOException
        Specified by:
        read in interface org.xnio.conduits.StreamSourceConduit
        Overrides:
        read in class org.xnio.conduits.AbstractStreamSourceConduit<org.xnio.conduits.StreamSourceConduit>
        Throws:
        java.io.IOException
      • readFooter

        protected void readFooter​(java.nio.ByteBuffer buf)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • readHeader

        protected boolean readHeader​(java.nio.ByteBuffer byteBuffer)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • dataDeflated

        protected void dataDeflated​(byte[] data,
                                    int off,
                                    int len)
      • transferTo

        public long transferTo​(long position,
                               long count,
                               java.nio.channels.FileChannel target)
                        throws java.io.IOException
        Specified by:
        transferTo in interface org.xnio.conduits.StreamSourceConduit
        Overrides:
        transferTo in class org.xnio.conduits.AbstractStreamSourceConduit<org.xnio.conduits.StreamSourceConduit>
        Throws:
        java.io.IOException
      • transferTo

        public long transferTo​(long count,
                               java.nio.ByteBuffer throughBuffer,
                               org.xnio.channels.StreamSinkChannel target)
                        throws java.io.IOException
        Specified by:
        transferTo in interface org.xnio.conduits.StreamSourceConduit
        Overrides:
        transferTo in class org.xnio.conduits.AbstractStreamSourceConduit<org.xnio.conduits.StreamSourceConduit>
        Throws:
        java.io.IOException
      • read

        public long read​(java.nio.ByteBuffer[] dsts,
                         int offset,
                         int length)
                  throws java.io.IOException
        Specified by:
        read in interface org.xnio.conduits.StreamSourceConduit
        Overrides:
        read in class org.xnio.conduits.AbstractStreamSourceConduit<org.xnio.conduits.StreamSourceConduit>
        Throws:
        java.io.IOException
      • terminateReads

        public void terminateReads()
                            throws java.io.IOException
        Specified by:
        terminateReads in interface org.xnio.conduits.SourceConduit
        Overrides:
        terminateReads in class org.xnio.conduits.AbstractSourceConduit<org.xnio.conduits.StreamSourceConduit>
        Throws:
        java.io.IOException