Class CompressExtension

    • Field Detail

      • TAIL_BYTES

        protected static final byte[] TAIL_BYTES
      • TAIL_BYTES_BUF

        protected static final java.nio.ByteBuffer TAIL_BYTES_BUF
      • TAIL_DROP_NEVER

        protected static final int TAIL_DROP_NEVER
        Never drop tail bytes 0000FFFF, from any frame type
        See Also:
        Constant Field Values
      • TAIL_DROP_ALWAYS

        protected static final int TAIL_DROP_ALWAYS
        Always drop tail bytes 0000FFFF, from all frame types
        See Also:
        Constant Field Values
      • TAIL_DROP_FIN_ONLY

        protected static final int TAIL_DROP_FIN_ONLY
        Only drop tail bytes 0000FFFF, from fin==true frames
        See Also:
        Constant Field Values
      • RSV_USE_ALWAYS

        protected static final int RSV_USE_ALWAYS
        Always set RSV flag, on all frame types
        See Also:
        Constant Field Values
      • RSV_USE_ONLY_FIRST

        protected static final int RSV_USE_ONLY_FIRST
        Only set RSV flag on first frame in multi-frame messages.

        Note: this automatically means no-continuation frames have the RSV bit set

        See Also:
        Constant Field Values
      • INFLATE_BUFFER_SIZE

        protected static final int INFLATE_BUFFER_SIZE
        Inflater / Decompressed Buffer Size
        See Also:
        Constant Field Values
      • INPUT_MAX_BUFFER_SIZE

        protected static final int INPUT_MAX_BUFFER_SIZE
        Deflater / Inflater: Maximum Input Buffer Size
        See Also:
        Constant Field Values
      • decompressCount

        protected java.util.concurrent.atomic.AtomicInteger decompressCount
    • Constructor Detail

      • CompressExtension

        protected CompressExtension()
    • Method Detail

      • setInflaterPool

        public void setInflaterPool​(InflaterPool inflaterPool)
      • setDeflaterPool

        public void setDeflaterPool​(DeflaterPool deflaterPool)
      • getDeflater

        public java.util.zip.Deflater getDeflater()
      • getInflater

        public java.util.zip.Inflater getInflater()
      • isRsv1User

        public boolean isRsv1User()
        Indicates use of RSV1 flag for indicating deflation is in use.
        Specified by:
        isRsv1User in interface Extension
        Overrides:
        isRsv1User in class AbstractExtension
        Returns:
        true if extension uses RSV1 for its own purposes.
      • decompress

        protected void decompress​(ByteAccumulator accumulator,
                                  java.nio.ByteBuffer buf)
                           throws java.util.zip.DataFormatException
        Throws:
        java.util.zip.DataFormatException
      • outgoingFrame

        public void outgoingFrame​(Frame frame,
                                  WriteCallback callback,
                                  BatchMode batchMode)
        Description copied from interface: OutgoingFrames
        A frame, and optional callback, intended for the network layer.

        Note: the frame can undergo many transformations in the various layers and extensions present in the implementation.

        If you are implementing a mutation, you are obliged to handle the incoming WriteCallback appropriately.

        Parameters:
        frame - the frame to eventually write to the network layer.
        callback - the callback to notify when the frame is written.
        batchMode - the batch mode requested by the sender.
      • notifyCallbackSuccess

        protected void notifyCallbackSuccess​(WriteCallback callback)
      • notifyCallbackFailure

        protected void notifyCallbackFailure​(WriteCallback callback,
                                             java.lang.Throwable failure)
      • endsWithTail

        public static boolean endsWithTail​(java.nio.ByteBuffer buf)
      • doStop

        protected void doStop()
                       throws java.lang.Exception
        Overrides:
        doStop in class AbstractLifeCycle
        Throws:
        java.lang.Exception