Interface SessionOutputBuffer

  • All Known Implementing Classes:
    SessionOutputBufferImpl

    public interface SessionOutputBuffer
    Session output buffer for non-blocking connections. This interface facilitates intermediate buffering of output data streamed out to a destination channel and writing data to the buffer from a source, usually ByteBuffer or ReadableByteChannel. This interface also provides methods for writing lines of text.
    Since:
    4.0
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      int flush​(java.nio.channels.WritableByteChannel channel)
      Makes an attempt to flush the content of this buffer to the given destination WritableByteChannel.
      boolean hasData()
      Determines if the buffer contains data.
      int length()
      Returns the length of this buffer.
      void write​(java.nio.ByteBuffer src)
      Copies content of the source buffer into this buffer.
      void write​(java.nio.channels.ReadableByteChannel src)
      Reads a sequence of bytes from the source channel into this buffer.
      void writeLine​(java.lang.String s)
      Copies content of the given string into this buffer as one line of text including a line delimiter.
      void writeLine​(CharArrayBuffer src)
      Copies content of the source buffer into this buffer as one line of text including a line delimiter.
    • Method Detail

      • hasData

        boolean hasData()
        Determines if the buffer contains data.
        Returns:
        true if there is data in the buffer, false otherwise.
      • length

        int length()
        Returns the length of this buffer.
        Returns:
        buffer length.
      • flush

        int flush​(java.nio.channels.WritableByteChannel channel)
           throws java.io.IOException
        Makes an attempt to flush the content of this buffer to the given destination WritableByteChannel.
        Parameters:
        channel - the destination channel.
        Returns:
        The number of bytes written, possibly zero.
        Throws:
        java.io.IOException - in case of an I/O error.
      • write

        void write​(java.nio.ByteBuffer src)
        Copies content of the source buffer into this buffer. The capacity of the destination will be expanded in order to accommodate the entire content of the source buffer.
        Parameters:
        src - the source buffer.
      • write

        void write​(java.nio.channels.ReadableByteChannel src)
            throws java.io.IOException
        Reads a sequence of bytes from the source channel into this buffer.
        Parameters:
        src - the source channel.
        Throws:
        java.io.IOException
      • writeLine

        void writeLine​(CharArrayBuffer src)
                throws java.nio.charset.CharacterCodingException
        Copies content of the source buffer into this buffer as one line of text including a line delimiter. The capacity of the destination will be expanded in order to accommodate the entire content of the source buffer.

        The choice of a char encoding and line delimiter sequence is up to the specific implementations of this interface.

        Parameters:
        src - the source buffer.
        Throws:
        java.nio.charset.CharacterCodingException
      • writeLine

        void writeLine​(java.lang.String s)
                throws java.io.IOException
        Copies content of the given string into this buffer as one line of text including a line delimiter. The capacity of the destination will be expanded in order to accommodate the entire string.

        The choice of a char encoding and line delimiter sequence is up to the specific implementations of this interface.

        Parameters:
        s - the string.
        Throws:
        java.io.IOException