Class LargeByteBufToChunkedMessageEncoder

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelOutboundHandlerAdapter
io.netty.handler.codec.MessageToMessageEncoder<io.netty.buffer.ByteBuf>
org.drasyl.handler.stream.LargeByteBufToChunkedMessageEncoder
All Implemented Interfaces:
io.netty.channel.ChannelHandler, io.netty.channel.ChannelOutboundHandler

public class LargeByteBufToChunkedMessageEncoder extends io.netty.handler.codec.MessageToMessageEncoder<io.netty.buffer.ByteBuf>
Encodes ByteBufs exceeding maxChunkLength to ChunkedMessageInputs. Rejects ByteBufs exceeding maxContentLength.

This handler should be used together with ChunkedWriteHandler.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler

    io.netty.channel.ChannelHandler.Sharable
  • Constructor Summary

    Constructors
    Constructor
    Description
    LargeByteBufToChunkedMessageEncoder(int maxChunkLength, int maxContentLength)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    protected void
    encode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf msg, List<Object> out)
     

    Methods inherited from class io.netty.handler.codec.MessageToMessageEncoder

    write

    Methods inherited from class io.netty.channel.ChannelOutboundHandlerAdapter

    bind, close, connect, deregister, disconnect, flush, read

    Methods inherited from class io.netty.channel.ChannelHandlerAdapter

    ensureNotSharable, exceptionCaught, handlerAdded, handlerRemoved, isSharable

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.netty.channel.ChannelHandler

    exceptionCaught, handlerAdded, handlerRemoved
  • Constructor Details

    • LargeByteBufToChunkedMessageEncoder

      public LargeByteBufToChunkedMessageEncoder(int maxChunkLength, int maxContentLength)
  • Method Details

    • acceptOutboundMessage

      public boolean acceptOutboundMessage(Object msg)
      Overrides:
      acceptOutboundMessage in class io.netty.handler.codec.MessageToMessageEncoder<io.netty.buffer.ByteBuf>
    • encode

      protected void encode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf msg, List<Object> out) throws Exception
      Specified by:
      encode in class io.netty.handler.codec.MessageToMessageEncoder<io.netty.buffer.ByteBuf>
      Throws:
      Exception