Class RpcInflaterOutputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable

    public class RpcInflaterOutputStream
    extends java.io.FilterOutputStream
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected byte[] buf
      Output buffer for writing uncompressed data.
      protected java.util.zip.Inflater inf
      Decompressor for this stream.
      • Fields inherited from class java.io.FilterOutputStream

        out
    • Constructor Summary

      Constructors 
      Constructor Description
      RpcInflaterOutputStream​(java.io.OutputStream out, MD5Digester digester)
      Creates a new output stream with a default decompressor and buffer size.
      RpcInflaterOutputStream​(java.io.OutputStream out, java.util.zip.Inflater infl, int bufLen, MD5Digester digester)
      Creates a new output stream with the specified decompressor and buffer size.
      RpcInflaterOutputStream​(java.io.OutputStream out, java.util.zip.Inflater infl, MD5Digester digester)
      Creates a new output stream with the specified decompressor and a default buffer size.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Writes any remaining uncompressed data to the output stream and closes the underlying output stream.
      void finish()
      Finishes writing uncompressed data to the output stream without closing the underlying stream.
      void flush()
      Flushes this output stream, forcing any pending buffered output bytes to be written.
      long getBytesWritten()  
      MD5Digester getLocalDigester()  
      void setLocalDigester​(MD5Digester localDigester)  
      void write​(byte[] b, int off, int len)
      Writes an array of bytes to the uncompressed output stream.
      void write​(int b)
      Writes a byte to the uncompressed output stream.
      • Methods inherited from class java.io.FilterOutputStream

        write
      • Methods inherited from class java.io.OutputStream

        nullOutputStream
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • inf

        protected final java.util.zip.Inflater inf
        Decompressor for this stream.
      • buf

        protected final byte[] buf
        Output buffer for writing uncompressed data.
    • Constructor Detail

      • RpcInflaterOutputStream

        public RpcInflaterOutputStream​(java.io.OutputStream out,
                                       MD5Digester digester)
        Creates a new output stream with a default decompressor and buffer size.
        Parameters:
        out - output stream to write the uncompressed data to
        digester - m5d digester
        Throws:
        java.lang.NullPointerException - if out is null
      • RpcInflaterOutputStream

        public RpcInflaterOutputStream​(java.io.OutputStream out,
                                       java.util.zip.Inflater infl,
                                       MD5Digester digester)
        Creates a new output stream with the specified decompressor and a default buffer size.
        Parameters:
        out - output stream to write the uncompressed data to
        infl - decompressor ("inflater") for this stream
        digester - m5d digester
        Throws:
        java.lang.NullPointerException - if out or infl is null
      • RpcInflaterOutputStream

        public RpcInflaterOutputStream​(java.io.OutputStream out,
                                       java.util.zip.Inflater infl,
                                       int bufLen,
                                       MD5Digester digester)
        Creates a new output stream with the specified decompressor and buffer size.
        Parameters:
        out - output stream to write the uncompressed data to
        infl - decompressor ("inflater") for this stream
        bufLen - decompression buffer size
        digester - m5d digester
        Throws:
        java.lang.IllegalArgumentException - if bufLen is <= 0
        java.lang.NullPointerException - if out or infl is null
    • Method Detail

      • close

        public void close()
                   throws java.io.IOException
        Writes any remaining uncompressed data to the output stream and closes the underlying output stream.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class java.io.FilterOutputStream
        Throws:
        java.io.IOException - if an I/O error occurs
      • flush

        public void flush()
                   throws java.io.IOException
        Flushes this output stream, forcing any pending buffered output bytes to be written.
        Specified by:
        flush in interface java.io.Flushable
        Overrides:
        flush in class java.io.FilterOutputStream
        Throws:
        java.io.IOException - if an I/O error occurs or this stream is already closed
      • finish

        public void finish()
                    throws java.io.IOException
        Finishes writing uncompressed data to the output stream without closing the underlying stream. Use this method when applying multiple filters in succession to the same output stream.
        Throws:
        java.io.IOException - if an I/O error occurs or this stream is already closed
      • write

        public void write​(int b)
                   throws java.io.IOException
        Writes a byte to the uncompressed output stream.
        Overrides:
        write in class java.io.FilterOutputStream
        Parameters:
        b - a single byte of compressed data to decompress and write to the output stream
        Throws:
        java.io.IOException - if an I/O error occurs or this stream is already closed
        java.util.zip.ZipException - if a compression (ZIP) format error occurs
      • write

        public void write​(byte[] b,
                          int off,
                          int len)
                   throws java.io.IOException
        Writes an array of bytes to the uncompressed output stream.
        Overrides:
        write in class java.io.FilterOutputStream
        Parameters:
        b - buffer containing compressed data to decompress and write to the output stream
        off - starting offset of the compressed data within b
        len - number of bytes to decompress from b
        Throws:
        java.lang.IndexOutOfBoundsException - if off < 0, or if len < 0, or if len > b.length - off
        java.io.IOException - if an I/O error occurs or this stream is already closed
        java.lang.NullPointerException - if b is null
        java.util.zip.ZipException - if a compression (ZIP) format error occurs
      • getLocalDigester

        public MD5Digester getLocalDigester()
      • setLocalDigester

        public void setLocalDigester​(MD5Digester localDigester)
      • getBytesWritten

        public long getBytesWritten()