public class WebSocketFrameAggregator extends MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>
WebSocketFrame they will
just get forwarded to the next handler in the pipeline.ChannelHandler.Sharable| Constructor and Description |
|---|
WebSocketFrameAggregator(int maxContentLength)
Creates a new instance
|
| Modifier and Type | Method and Description |
|---|---|
protected WebSocketFrame |
beginAggregation(WebSocketFrame start,
ByteBuf content)
Creates a new aggregated message from the specified start message and the specified content.
|
protected boolean |
closeAfterContinueResponse(Object msg)
Determine if the channel should be closed after the result of
MessageAggregator.newContinueResponse(Object, int, ChannelPipeline) is written. |
protected boolean |
ignoreContentAfterContinueResponse(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 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, releaseCurrentMessage, setMaxCumulationBufferComponentschannelReadchannelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggeredensureNotSharable, isSharablepublic WebSocketFrameAggregator(int maxContentLength)
maxContentLength - If the size of the aggregated frame exceeds this value,
a TooLongFrameException is thrown.protected boolean isStartMessage(WebSocketFrame msg) throws Exception
MessageAggregatortrue 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 in class MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>Exceptionprotected boolean isContentMessage(WebSocketFrame msg) throws Exception
MessageAggregatortrue 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 in class MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>Exceptionprotected boolean isLastContentMessage(ContinuationWebSocketFrame msg) throws Exception
MessageAggregatortrue 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 in class MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>Exceptionprotected boolean isAggregated(WebSocketFrame msg) throws Exception
MessageAggregatortrue 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 in class MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>Exceptionprotected boolean isContentLengthInvalid(WebSocketFrame start, int maxContentLength)
MessageAggregatorstart's content length is known, and if it greater than
maxContentLength.isContentLengthInvalid in class 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 Object newContinueResponse(WebSocketFrame start, int maxContentLength, ChannelPipeline pipeline)
MessageAggregatornewContinueResponse in class MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>null if there's no message to sendprotected boolean closeAfterContinueResponse(Object msg) throws Exception
MessageAggregatorMessageAggregator.newContinueResponse(Object, int, ChannelPipeline) is written.closeAfterContinueResponse in class 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.Exceptionprotected boolean ignoreContentAfterContinueResponse(Object msg) throws Exception
MessageAggregatorMessageAggregator.isContentMessage(Object) returns true.ignoreContentAfterContinueResponse in class 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.Exceptionprotected WebSocketFrame beginAggregation(WebSocketFrame start, ByteBuf content) throws Exception
MessageAggregatorByteBufHolder, its content is appended to the specified content.
This aggregator will continue to append the received content to the specified content.beginAggregation in class MessageAggregator<WebSocketFrame,WebSocketFrame,ContinuationWebSocketFrame,WebSocketFrame>ExceptionCopyright © 2008–2025 The Netty Project. All rights reserved.