Class CompressExtension
- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.websocket.common.extensions.AbstractExtension
-
- org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension
-
- All Implemented Interfaces:
LifeCycle,Extension,IncomingFrames,OutgoingFrames
- Direct Known Subclasses:
DeflateFrameExtension,PerMessageDeflateExtension
public abstract class CompressExtension extends AbstractExtension
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.concurrent.atomic.AtomicIntegerdecompressCountprotected static intINFLATE_BUFFER_SIZEInflater / Decompressed Buffer Sizeprotected static intINPUT_MAX_BUFFER_SIZEDeflater / Inflater: Maximum Input Buffer Sizeprotected static intRSV_USE_ALWAYSAlways set RSV flag, on all frame typesprotected static intRSV_USE_ONLY_FIRSTOnly set RSV flag on first frame in multi-frame messages.protected static byte[]TAIL_BYTESprotected static java.nio.ByteBufferTAIL_BYTES_BUFprotected static intTAIL_DROP_ALWAYSAlways drop tail bytes 0000FFFF, from all frame typesprotected static intTAIL_DROP_FIN_ONLYOnly drop tail bytes 0000FFFF, from fin==true framesprotected static intTAIL_DROP_NEVERNever drop tail bytes 0000FFFF, from any frame type
-
Constructor Summary
Constructors Modifier Constructor Description protectedCompressExtension()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddecompress(ByteAccumulator accumulator, java.nio.ByteBuffer buf)protected voiddoStop()static booleanendsWithTail(java.nio.ByteBuffer buf)protected voidforwardIncoming(Frame frame, ByteAccumulator accumulator)java.util.zip.DeflatergetDeflater()java.util.zip.InflatergetInflater()booleanisRsv1User()Indicates use of RSV1 flag for indicating deflation is in use.protected ByteAccumulatornewByteAccumulator()protected voidnotifyCallbackFailure(WriteCallback callback, java.lang.Throwable failure)protected voidnotifyCallbackSuccess(WriteCallback callback)voidoutgoingFrame(Frame frame, WriteCallback callback, BatchMode batchMode)voidsetDeflaterPool(DeflaterPool deflaterPool)voidsetInflaterPool(InflaterPool inflaterPool)java.lang.StringtoString()-
Methods inherited from class org.eclipse.jetty.websocket.common.extensions.AbstractExtension
getBufferPool, getConfig, getConnection, getName, getNextIncoming, getNextOutgoing, getPolicy, init, init, isRsv2User, isRsv3User, nextIncomingFrame, nextOutgoingFrame, setBufferPool, setConfig, setConnection, setNextIncomingFrames, setNextOutgoingFrames, setPolicy
-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, doStart, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, setStopTimeout, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.jetty.websocket.api.extensions.IncomingFrames
incomingFrame
-
-
-
-
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
-
-
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:
isRsv1Userin interfaceExtension- Overrides:
isRsv1Userin classAbstractExtension- Returns:
- true if extension uses RSV1 for its own purposes.
-
forwardIncoming
protected void forwardIncoming(Frame frame, ByteAccumulator accumulator)
-
newByteAccumulator
protected ByteAccumulator newByteAccumulator()
-
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)
-
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:
doStopin classAbstractLifeCycle- Throws:
java.lang.Exception
-
toString
public java.lang.String toString()
- Overrides:
toStringin classAbstractExtension
-
-