@ManagedObject(value="Extension Stack") public class ExtensionStack extends ContainerLifeCycle implements IncomingFrames, OutgoingFrames
AbstractLifeCycle.AbstractLifeCycleListener
Container.InheritedListener, Container.Listener
LifeCycle.Listener
Constructor and Description |
---|
ExtensionStack(ExtensionFactory factory) |
Modifier and Type | Method and Description |
---|---|
void |
configure(Generator generator) |
void |
configure(Parser parser) |
String |
dumpSelf()
The description of this/self found in the dump.
|
List<Extension> |
getExtensions() |
List<ExtensionConfig> |
getNegotiatedExtensions()
Get the list of negotiated extensions, each entry being a full "name; params" extension configuration
|
IncomingFrames |
getNextIncoming() |
OutgoingFrames |
getNextOutgoing() |
boolean |
hasNegotiatedExtensions() |
void |
incomingFrame(Frame frame)
Process the incoming frame.
|
void |
negotiate(List<ExtensionConfig> configs)
Perform the extension negotiation.
|
void |
outgoingFrame(Frame frame,
WriteCallback callback,
BatchMode batchMode)
A frame, and optional callback, intended for the network layer.
|
void |
setNextIncoming(IncomingFrames nextIncoming) |
void |
setNextOutgoing(OutgoingFrames nextOutgoing) |
void |
setPolicy(WebSocketPolicy policy) |
String |
toString() |
addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dump, dump, dump, dumpObject, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, unmanage, updateBean, updateBean, updateBeans
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
dumpContainer, dumpIterable, dumpMapEntries, dumpObjects, named
public ExtensionStack(ExtensionFactory factory)
public void configure(Generator generator)
public void configure(Parser parser)
public String dumpSelf()
Dumpable
@ManagedAttribute(name="Extension List", readonly=true) public List<Extension> getExtensions()
public List<ExtensionConfig> getNegotiatedExtensions()
@ManagedAttribute(name="Next Incoming Frames Handler", readonly=true) public IncomingFrames getNextIncoming()
@ManagedAttribute(name="Next Outgoing Frames Handler", readonly=true) public OutgoingFrames getNextOutgoing()
public boolean hasNegotiatedExtensions()
public void incomingFrame(Frame frame)
IncomingFrames
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.
incomingFrame
in interface IncomingFrames
frame
- the frame to processpublic void negotiate(List<ExtensionConfig> configs)
For the list of negotiated extensions, use getNegotiatedExtensions()
configs
- the configurations being requestedpublic void outgoingFrame(Frame frame, WriteCallback callback, BatchMode batchMode)
OutgoingFrames
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.
outgoingFrame
in interface OutgoingFrames
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.public void setNextIncoming(IncomingFrames nextIncoming)
public void setNextOutgoing(OutgoingFrames nextOutgoing)
public void setPolicy(WebSocketPolicy policy)
public String toString()
toString
in class AbstractLifeCycle
Copyright © 2010 - 2020 Adobe. All Rights Reserved