@ManagedObject(value="Abstract Extension") public abstract class AbstractExtension extends ContainerLifeCycle implements Extension
AbstractLifeCycle.AbstractLifeCycleListener
Container.InheritedListener, Container.Listener
LifeCycle.Listener
Constructor and Description |
---|
AbstractExtension() |
Modifier and Type | Method and Description |
---|---|
void |
dump(Appendable out,
String indent) |
protected void |
dumpWithHeading(Appendable out,
String indent,
String heading,
Object bean) |
ByteBufferPool |
getBufferPool() |
ExtensionConfig |
getConfig()
The active configuration for this extension.
|
LogicalConnection |
getConnection() |
String |
getName()
The
Sec-WebSocket-Extensions name for this extension. |
IncomingFrames |
getNextIncoming() |
OutgoingFrames |
getNextOutgoing() |
WebSocketPolicy |
getPolicy() |
void |
incomingError(WebSocketException e) |
boolean |
isRsv1User()
Used to indicate that the extension makes use of the RSV1 bit of the base websocket framing.
|
boolean |
isRsv2User()
Used to indicate that the extension makes use of the RSV2 bit of the base websocket framing.
|
boolean |
isRsv3User()
Used to indicate that the extension makes use of the RSV3 bit of the base websocket framing.
|
boolean |
isTextDataDecoder()
Used to indicate that the extension works as a decoder of TEXT Data Frames.
|
protected void |
nextIncomingError(WebSocketException e) |
protected void |
nextIncomingFrame(Frame frame) |
protected void |
nextOutgoingFrame(Frame frame,
WriteCallback callback) |
void |
setBufferPool(ByteBufferPool bufferPool) |
void |
setConfig(ExtensionConfig config) |
void |
setConnection(LogicalConnection connection) |
void |
setNextIncomingFrames(IncomingFrames nextIncoming)
Set the next
IncomingFrames to call in the chain. |
void |
setNextOutgoingFrames(OutgoingFrames nextOutgoing)
Set the next
OutgoingFrames to call in the chain. |
void |
setPolicy(WebSocketPolicy policy) |
String |
toString() |
addBean, addBean, addBean, addEventListener, contains, destroy, doStart, doStop, dump, dump, dump, dump, dumpBeans, dumpObject, dumpStdErr, dumpThis, getBean, getBeans, getBeans, isManaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBeans
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
incomingFrame
outgoingFrame
public void dump(Appendable out, String indent) throws IOException
dump
in interface Dumpable
dump
in class ContainerLifeCycle
IOException
protected void dumpWithHeading(Appendable out, String indent, String heading, Object bean) throws IOException
IOException
public ByteBufferPool getBufferPool()
public ExtensionConfig getConfig()
Extension
public LogicalConnection getConnection()
public String getName()
Extension
Sec-WebSocket-Extensions
name for this extension.
Also known as the extension-token
per Section 9.1. Negotiating Extensions.
@ManagedAttribute(name="Next Incoming Frame Handler", readonly=true) public IncomingFrames getNextIncoming()
@ManagedAttribute(name="Next Outgoing Frame Handler", readonly=true) public OutgoingFrames getNextOutgoing()
public WebSocketPolicy getPolicy()
public void incomingError(WebSocketException e)
incomingError
in interface IncomingFrames
public boolean isRsv1User()
This is used to adjust validation during parsing, as well as a checkpoint against 2 or more extensions all simultaneously claiming ownership of RSV1.
isRsv1User
in interface Extension
public boolean isRsv2User()
This is used to adjust validation during parsing, as well as a checkpoint against 2 or more extensions all simultaneously claiming ownership of RSV2.
isRsv2User
in interface Extension
public boolean isRsv3User()
This is used to adjust validation during parsing, as well as a checkpoint against 2 or more extensions all simultaneously claiming ownership of RSV3.
isRsv3User
in interface Extension
public boolean isTextDataDecoder()
This is used to adjust validation during parsing/generating, as per spec TEXT Data Frames can only contain UTF8 encoded String data.
Example: a compression extension will process a compressed set of text data, the parser/generator should no longer be concerned about the validity of the TEXT Data Frames as this is now the responsibility of the extension.
isTextDataDecoder
in interface Extension
protected void nextIncomingError(WebSocketException e)
protected void nextIncomingFrame(Frame frame)
protected void nextOutgoingFrame(Frame frame, WriteCallback callback)
public void setBufferPool(ByteBufferPool bufferPool)
public void setConfig(ExtensionConfig config)
public void setConnection(LogicalConnection connection)
public void setNextIncomingFrames(IncomingFrames nextIncoming)
Extension
IncomingFrames
to call in the chain.setNextIncomingFrames
in interface Extension
nextIncoming
- the next incoming extensionpublic void setNextOutgoingFrames(OutgoingFrames nextOutgoing)
Extension
OutgoingFrames
to call in the chain.setNextOutgoingFrames
in interface Extension
nextOutgoing
- the next outgoing extensionpublic void setPolicy(WebSocketPolicy policy)
Copyright © 1995-2013 Mort Bay Consulting. All Rights Reserved.