Class ChunkEncoder

  • All Implemented Interfaces:
    ContentEncoder

    public class ChunkEncoder
    extends AbstractContentEncoder
    Implements chunked transfer coding. The content is sent in small chunks. Entities transferred using this decoder can be of unlimited length.
    Since:
    4.0
    • Constructor Detail

      • ChunkEncoder

        public ChunkEncoder​(java.nio.channels.WritableByteChannel channel,
                            SessionOutputBuffer buffer,
                            HttpTransportMetricsImpl metrics,
                            int fragementSizeHint)
        Parameters:
        channel - underlying channel.
        buffer - session buffer.
        metrics - transport metrics.
        fragementSizeHint - fragment size hint defining an minimal size of a fragment that should be written out directly to the channel bypassing the session buffer. Value 0 disables fragment buffering.
        Since:
        4.3
    • Method Detail

      • write

        public int write​(java.nio.ByteBuffer src)
                  throws java.io.IOException
        Description copied from interface: ContentEncoder
        Writes a portion of entity content to the underlying channel.
        Parameters:
        src - The buffer from which content is to be retrieved
        Returns:
        The number of bytes read, possibly zero
        Throws:
        java.io.IOException - if I/O error occurs while writing content
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object