public class WebSocketFrameAggregator extends MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>
WebSocketFrame
they will
just get forwarded to the next handler in the pipeline.ChannelHandler.Sharable
构造器和说明 |
---|
WebSocketFrameAggregator(int maxContentLength)
Creates a new instance
|
限定符和类型 | 方法和说明 |
---|---|
protected WebSocketFrame |
beginAggregation(WebSocketFrame start,
ByteBuf content)
Creates a new aggregated message from the specified start message and the specified content.
|
protected boolean |
closeAfterContinueResponse(java.lang.Object msg)
Determine if the channel should be closed after the result of
MessageAggregator.newContinueResponse(Object, int, ChannelPipeline) is written. |
protected boolean |
ignoreContentAfterContinueResponse(java.lang.Object msg)
Determine if all objects for the current request/response should be ignored or not.
|
protected boolean |
isAggregated(WebSocketFrame msg)
Returns
true if and only if the specified message is already aggregated. |
protected boolean |
isContentLengthInvalid(WebSocketFrame start,
int maxContentLength)
Determine if the message
start 's content length is known, and if it greater than
maxContentLength . |
protected boolean |
isContentMessage(WebSocketFrame msg)
Returns
true if and only if the specified message is a content message. |
protected boolean |
isLastContentMessage(ContinuationWebSocketFrame msg)
Returns
true if and only if the specified message is the last content message. |
protected boolean |
isStartMessage(WebSocketFrame msg)
Returns
true if and only if the specified message is a start message. |
protected java.lang.Object |
newContinueResponse(WebSocketFrame start,
int maxContentLength,
ChannelPipeline pipeline)
Returns the 'continue response' for the specified start message if necessary.
|
acceptInboundMessage, aggregate, channelInactive, channelReadComplete, ctx, decode, finishAggregation, handleOversizedMessage, handlerAdded, handlerRemoved, isHandlingOversizedMessage, maxContentLength, maxCumulationBufferComponents, setMaxCumulationBufferComponents
channelRead
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
ensureNotSharable, isSharable
public WebSocketFrameAggregator(int maxContentLength)
maxContentLength
- If the size of the aggregated frame exceeds this value,
a TooLongFrameException
is thrown.protected boolean isStartMessage(WebSocketFrame msg) throws java.lang.Exception
MessageAggregator
true
if and only if the specified message is a start message. Typically, this method is
implemented as a single return
statement with instanceof
:
return msg instanceof MyStartMessage;
isStartMessage
在类中 MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>
java.lang.Exception
protected boolean isContentMessage(WebSocketFrame msg) throws java.lang.Exception
MessageAggregator
true
if and only if the specified message is a content message. Typically, this method is
implemented as a single return
statement with instanceof
:
return msg instanceof MyContentMessage;
isContentMessage
在类中 MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>
java.lang.Exception
protected boolean isLastContentMessage(ContinuationWebSocketFrame msg) throws java.lang.Exception
MessageAggregator
true
if and only if the specified message is the last content message. Typically, this method is
implemented as a single return
statement with instanceof
:
return msg instanceof MyLastContentMessage;or with
instanceof
and boolean field check:
return msg instanceof MyContentMessage && msg.isLastFragment();
isLastContentMessage
在类中 MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>
java.lang.Exception
protected boolean isAggregated(WebSocketFrame msg) throws java.lang.Exception
MessageAggregator
true
if and only if the specified message is already aggregated. If this method returns
true
, this handler will simply forward the message to the next handler as-is.isAggregated
在类中 MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>
java.lang.Exception
protected boolean isContentLengthInvalid(WebSocketFrame start, int maxContentLength)
MessageAggregator
start
's content length is known, and if it greater than
maxContentLength
.isContentLengthInvalid
在类中 MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>
start
- The message which may indicate the content length.maxContentLength
- The maximum allowed content length.true
if the message start
's content length is known, and if it greater than
maxContentLength
. false
otherwise.protected java.lang.Object newContinueResponse(WebSocketFrame start, int maxContentLength, ChannelPipeline pipeline)
MessageAggregator
newContinueResponse
在类中 MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>
null
if there's no message to sendprotected boolean closeAfterContinueResponse(java.lang.Object msg) throws java.lang.Exception
MessageAggregator
MessageAggregator.newContinueResponse(Object, int, ChannelPipeline)
is written.closeAfterContinueResponse
在类中 MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>
msg
- The return value from MessageAggregator.newContinueResponse(Object, int, ChannelPipeline)
.true
if the channel should be closed after the result of
MessageAggregator.newContinueResponse(Object, int, ChannelPipeline)
is written. false
otherwise.java.lang.Exception
protected boolean ignoreContentAfterContinueResponse(java.lang.Object msg) throws java.lang.Exception
MessageAggregator
MessageAggregator.isContentMessage(Object)
returns true
.ignoreContentAfterContinueResponse
在类中 MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>
msg
- The return value from MessageAggregator.newContinueResponse(Object, int, ChannelPipeline)
.true
if all objects for the current request/response should be ignored or not.
false
otherwise.java.lang.Exception
protected WebSocketFrame beginAggregation(WebSocketFrame start, ByteBuf content) throws java.lang.Exception
MessageAggregator
ByteBufHolder
, its content is appended to the specified content
.
This aggregator will continue to append the received content to the specified content
.beginAggregation
在类中 MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>
java.lang.Exception