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:
org.eclipse.jetty.util.component.Dumpable,org.eclipse.jetty.util.component.LifeCycle,org.eclipse.jetty.websocket.api.extensions.Extension,org.eclipse.jetty.websocket.api.extensions.IncomingFrames,org.eclipse.jetty.websocket.api.extensions.OutgoingFrames
- Direct Known Subclasses:
DeflateFrameExtension,PerMessageDeflateExtension
public abstract class CompressExtension extends AbstractExtension
-
-
Field Summary
Fields Modifier and Type Field Description protected 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 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, ByteBuffer buf)protected voiddoStop()static booleanendsWithTail(ByteBuffer buf)protected voidforwardIncoming(org.eclipse.jetty.websocket.api.extensions.Frame frame, ByteAccumulator accumulator)DeflatergetDeflater()InflatergetInflater()booleanisRsv1User()Indicates use of RSV1 flag for indicating deflation is in use.protected ByteAccumulatornewByteAccumulator()protected voidnotifyCallbackFailure(org.eclipse.jetty.websocket.api.WriteCallback callback, Throwable failure)protected voidnotifyCallbackSuccess(org.eclipse.jetty.websocket.api.WriteCallback callback)voidoutgoingFrame(org.eclipse.jetty.websocket.api.extensions.Frame frame, org.eclipse.jetty.websocket.api.WriteCallback callback, org.eclipse.jetty.websocket.api.BatchMode batchMode)StringtoString()-
Methods inherited from class org.eclipse.jetty.websocket.common.extensions.AbstractExtension
dump, dump, dumpWithHeading, getBufferPool, getConfig, getConnection, getName, getNextIncoming, getNextOutgoing, getPolicy, incomingError, init, init, isRsv2User, isRsv3User, nextIncomingError, 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
-
-
-
-
Field Detail
-
TAIL_BYTES
protected static final byte[] TAIL_BYTES
-
TAIL_BYTES_BUF
protected static final 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 AtomicInteger decompressCount
-
-
Method Detail
-
getDeflater
public Deflater getDeflater()
-
getInflater
public Inflater getInflater()
-
isRsv1User
public boolean isRsv1User()
Indicates use of RSV1 flag for indicating deflation is in use.- Specified by:
isRsv1Userin interfaceorg.eclipse.jetty.websocket.api.extensions.Extension- Overrides:
isRsv1Userin classAbstractExtension- Returns:
- true if extension uses RSV1 for its own purposes.
-
forwardIncoming
protected void forwardIncoming(org.eclipse.jetty.websocket.api.extensions.Frame frame, ByteAccumulator accumulator)
-
newByteAccumulator
protected ByteAccumulator newByteAccumulator()
-
decompress
protected void decompress(ByteAccumulator accumulator, ByteBuffer buf) throws DataFormatException
- Throws:
DataFormatException
-
outgoingFrame
public void outgoingFrame(org.eclipse.jetty.websocket.api.extensions.Frame frame, org.eclipse.jetty.websocket.api.WriteCallback callback, org.eclipse.jetty.websocket.api.BatchMode batchMode)
-
notifyCallbackSuccess
protected void notifyCallbackSuccess(org.eclipse.jetty.websocket.api.WriteCallback callback)
-
notifyCallbackFailure
protected void notifyCallbackFailure(org.eclipse.jetty.websocket.api.WriteCallback callback, Throwable failure)
-
endsWithTail
public static boolean endsWithTail(ByteBuffer buf)
-
doStop
protected void doStop() throws Exception- Overrides:
doStopin classorg.eclipse.jetty.util.component.AbstractLifeCycle- Throws:
Exception
-
toString
public String toString()
- Overrides:
toStringin classAbstractExtension
-
-