Class BinaryMemcacheObjectAggregator
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.handler.codec.MessageToMessageDecoder<MemcacheObject>
io.netty.handler.codec.MessageAggregator<MemcacheObject, BinaryMemcacheMessage, MemcacheContent, FullMemcacheMessage>
io.netty.handler.codec.memcache.AbstractMemcacheObjectAggregator<BinaryMemcacheMessage>
io.netty.handler.codec.memcache.binary.BinaryMemcacheObjectAggregator
- All Implemented Interfaces:
ChannelHandler, ChannelInboundHandler
@UnstableApi
public class BinaryMemcacheObjectAggregator
extends AbstractMemcacheObjectAggregator<BinaryMemcacheMessage>
An object aggregator for the memcache binary protocol.
It aggregates
BinaryMemcacheMessages and MemcacheContent into FullBinaryMemcacheRequests
or FullBinaryMemcacheResponses.-
Nested Class Summary
Nested classes/interfaces inherited from interface ChannelHandler
ChannelHandler.SharableModifier and TypeInterfaceDescriptionstatic @interfaceIndicates that the same instance of the annotatedChannelHandlercan be added to one or moreChannelPipelines multiple times without a race condition. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected FullMemcacheMessagebeginAggregation(BinaryMemcacheMessage start, ByteBuf content) Creates a new aggregated message from the specified start message and the specified content.protected booleanReturnstrueif and only if the specified message is a start message.Methods inherited from class AbstractMemcacheObjectAggregator
closeAfterContinueResponse, ignoreContentAfterContinueResponse, isAggregated, isContentLengthInvalid, isContentMessage, isLastContentMessage, newContinueResponseModifier and TypeMethodDescriptionprotected booleanDetermine if the channel should be closed after the result ofMessageAggregator.newContinueResponse(Object, int, ChannelPipeline)is written.protected booleanDetermine if all objects for the current request/response should be ignored or not.protected booleanReturnstrueif and only if the specified message is already aggregated.protected booleanisContentLengthInvalid(BinaryMemcacheMessage start, int maxContentLength) Determine if the messagestart's content length is known, and if it greater thanmaxContentLength.protected booleanReturnstrueif and only if the specified message is a content message.protected booleanReturnstrueif and only if the specified message is the last content message.protected ObjectnewContinueResponse(BinaryMemcacheMessage start, int maxContentLength, ChannelPipeline pipeline) Returns the 'continue response' for the specified start message if necessary.Methods inherited from class MessageAggregator
acceptInboundMessage, aggregate, channelInactive, channelReadComplete, ctx, decode, finishAggregation, handleOversizedMessage, handlerAdded, handlerRemoved, isHandlingOversizedMessage, maxContentLength, maxCumulationBufferComponents, releaseCurrentMessage, setMaxCumulationBufferComponentsModifier and TypeMethodDescriptionbooleanReturnstrueif the given message should be handled.protected voidaggregate(FullMemcacheMessage aggregated, MemcacheContent content) Transfers the information provided by the specified content message to the specified aggregated message.voidCallsChannelHandlerContext.fireChannelInactive()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidCallsChannelHandlerContext.fireChannelReadComplete()to forward to the nextChannelInboundHandlerin theChannelPipeline.protected final ChannelHandlerContextctx()protected voiddecode(ChannelHandlerContext ctx, MemcacheObject msg, List<Object> out) Decode from one message to an other.protected voidfinishAggregation(FullMemcacheMessage aggregated) Invoked when the specifiedaggregatedmessage is about to be passed to the next handler in the pipeline.protected voidhandleOversizedMessage(ChannelHandlerContext ctx, BinaryMemcacheMessage oversized) Invoked when an incoming request exceeds the maximum content length.voidDo nothing by default, sub-classes may override this method.voidDo nothing by default, sub-classes may override this method.final booleanDeprecated.This method will be removed in future releases.final intReturns the maximum allowed length of the aggregated message in bytes.final intReturns the maximum number of components in the cumulation buffer.protected final voidfinal voidsetMaxCumulationBufferComponents(int maxCumulationBufferComponents) Sets the maximum number of components in the cumulation buffer.Methods inherited from class MessageToMessageDecoder
channelReadModifier and TypeMethodDescriptionvoidchannelRead(ChannelHandlerContext ctx, Object msg) CallsChannelHandlerContext.fireChannelRead(Object)to forward to the nextChannelInboundHandlerin theChannelPipeline.Methods inherited from class ChannelInboundHandlerAdapter
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggeredModifier and TypeMethodDescriptionvoidCallsChannelHandlerContext.fireChannelActive()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidCallsChannelHandlerContext.fireChannelRegistered()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidCallsChannelHandlerContext.fireChannelUnregistered()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidCallsChannelHandlerContext.fireChannelWritabilityChanged()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidexceptionCaught(ChannelHandlerContext ctx, Throwable cause) CallsChannelHandlerContext.fireExceptionCaught(Throwable)to forward to the nextChannelHandlerin theChannelPipeline.voiduserEventTriggered(ChannelHandlerContext ctx, Object evt) CallsChannelHandlerContext.fireUserEventTriggered(Object)to forward to the nextChannelInboundHandlerin theChannelPipeline.Methods inherited from class ChannelHandlerAdapter
ensureNotSharable, isSharableModifier and TypeMethodDescriptionprotected voidbooleanReturntrueif the implementation isChannelHandler.Sharableand so can be added to differentChannelPipelines.
-
Constructor Details
-
BinaryMemcacheObjectAggregator
public BinaryMemcacheObjectAggregator(int maxContentLength)
-
-
Method Details
-
isStartMessage
Description copied from class:MessageAggregatorReturnstrueif and only if the specified message is a start message. Typically, this method is implemented as a singlereturnstatement withinstanceof:return msg instanceof MyStartMessage;
- Specified by:
isStartMessagein classMessageAggregator<MemcacheObject, BinaryMemcacheMessage, MemcacheContent, FullMemcacheMessage>- Throws:
Exception
-
beginAggregation
protected FullMemcacheMessage beginAggregation(BinaryMemcacheMessage start, ByteBuf content) throws Exception Description copied from class:MessageAggregatorCreates a new aggregated message from the specified start message and the specified content. If the start message implementsByteBufHolder, its content is appended to the specifiedcontent. This aggregator will continue to append the received content to the specifiedcontent.- Specified by:
beginAggregationin classMessageAggregator<MemcacheObject, BinaryMemcacheMessage, MemcacheContent, FullMemcacheMessage>- Throws:
Exception
-