Class ServerOutputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable
    Direct Known Subclasses:
    BufferPoolServerOutputStream, ProcessAwareServerOutputStream

    public abstract class ServerOutputStream
    extends java.io.OutputStream
    OutputStream with additional methods to write cached ByteBuffer instances.
    Author:
    Daniel Sagenschneider
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      abstract void write​(java.nio.ByteBuffer buffer)
      Writes a ByteBuffer.
      abstract void write​(java.nio.channels.FileChannel file, long position, long count, FileCompleteCallback callback)
      Writes part of the FileChannel contents.
      abstract void write​(java.nio.channels.FileChannel file, FileCompleteCallback callback)
      Writes the entire FileChannel contents.
      • Methods inherited from class java.io.OutputStream

        close, flush, nullOutputStream, write, write, write
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ServerOutputStream

        public ServerOutputStream()
    • Method Detail

      • write

        public abstract void write​(java.nio.ByteBuffer buffer)
                            throws java.io.IOException

        Writes a ByteBuffer.

        This is to enable efficient I/O of writing content (typically cached).

        Parameters:
        buffer - ByteBuffer that should never change its content.
        Throws:
        java.io.IOException - If fails to write the ByteBuffer.
      • write

        public abstract void write​(java.nio.channels.FileChannel file,
                                   long position,
                                   long count,
                                   FileCompleteCallback callback)
                            throws java.io.IOException

        Writes part of the FileChannel contents.

        This is to enable efficient I/O (ie DMA) of writing FileChannel content.

        To write the entire FileChannel contents, invoke write(file, 0, -1).

        Note that the underlying implementation will need to support FileChannel efficiencies.

        Parameters:
        file - FileChannel.
        position - Position within the FileChannel to start writing content. Must be non-negative number.
        count - Count of bytes to write from the FileChannel. A negative value (typically -1) indicates to write the remaining FileChannel content from position.
        callback - Optional FileCompleteCallback. May be null.
        Throws:
        java.io.IOException - If fails to write the FileChannel content.
      • write

        public abstract void write​(java.nio.channels.FileChannel file,
                                   FileCompleteCallback callback)
                            throws java.io.IOException

        Writes the entire FileChannel contents.

        This is a convenience method for write(file, 0, -1).

        Parameters:
        file - FileChannel.
        callback - Optional FileCompleteCallback. May be null.
        Throws:
        java.io.IOException - If fails to write the FileChannel content.