Class FragmentExtension
- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.websocket.common.extensions.AbstractExtension
-
- org.eclipse.jetty.websocket.common.extensions.fragment.FragmentExtension
-
- All Implemented Interfaces:
org.eclipse.jetty.util.component.LifeCycle
,Extension
,IncomingFrames
,OutgoingFrames
public class FragmentExtension extends AbstractExtension
Fragment Extension
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
FragmentExtension.Flusher
private static class
FragmentExtension.FrameEntry
-
Field Summary
Fields Modifier and Type Field Description private java.util.Queue<FragmentExtension.FrameEntry>
entries
private org.eclipse.jetty.util.IteratingCallback
flusher
private static org.eclipse.jetty.util.log.Logger
LOG
private int
maxLength
-
Constructor Summary
Constructors Constructor Description FragmentExtension()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getName()
TheSec-WebSocket-Extensions
name for this extension.void
incomingFrame(Frame frame)
Process the incoming frame.private void
offerEntry(FragmentExtension.FrameEntry entry)
void
outgoingFrame(Frame frame, WriteCallback callback, BatchMode batchMode)
A frame, and optional callback, intended for the network layer.private FragmentExtension.FrameEntry
pollEntry()
void
setConfig(ExtensionConfig config)
-
Methods inherited from class org.eclipse.jetty.websocket.common.extensions.AbstractExtension
getBufferPool, getConfig, getConnection, getNextIncoming, getNextOutgoing, getPolicy, init, init, isRsv1User, isRsv2User, isRsv3User, nextIncomingFrame, nextOutgoingFrame, setBufferPool, setConnection, setNextIncomingFrames, setNextOutgoingFrames, setPolicy, toString
-
-
-
-
Field Detail
-
LOG
private static final org.eclipse.jetty.util.log.Logger LOG
-
entries
private final java.util.Queue<FragmentExtension.FrameEntry> entries
-
flusher
private final org.eclipse.jetty.util.IteratingCallback flusher
-
maxLength
private int maxLength
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:Extension
TheSec-WebSocket-Extensions
name for this extension.Also known as the
extension-token
per Section 9.1. Negotiating Extensions.- Specified by:
getName
in interfaceExtension
- Overrides:
getName
in classAbstractExtension
- Returns:
- the name of the extension
-
incomingFrame
public void incomingFrame(Frame frame)
Description copied from interface:IncomingFrames
Process the incoming frame.Note: if you need to hang onto any information from the frame, be sure to copy it, as the information contained in the Frame will be released and/or reused by the implementation.
- Parameters:
frame
- the frame to process
-
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.
-
setConfig
public void setConfig(ExtensionConfig config)
- Overrides:
setConfig
in classAbstractExtension
-
offerEntry
private void offerEntry(FragmentExtension.FrameEntry entry)
-
pollEntry
private FragmentExtension.FrameEntry pollEntry()
-
-