Class LogOutputBaseImpl

  • All Implemented Interfaces:
    io.deephaven.base.log.LogOutput, ByteBufferSink
    Direct Known Subclasses:
    LogOutputCsvImpl

    public abstract class LogOutputBaseImpl
    extends java.lang.Object
    implements io.deephaven.base.log.LogOutput, ByteBufferSink
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface io.deephaven.base.log.LogOutput

        io.deephaven.base.log.LogOutput.LongFormatter, io.deephaven.base.log.LogOutput.Null, io.deephaven.base.log.LogOutput.ObjFormatter<T extends java.lang.Object>, io.deephaven.base.log.LogOutput.ObjIntIntFormatter<T extends java.lang.Object>, io.deephaven.base.log.LogOutput.ObjObjFormatter<T extends java.lang.Object,​U extends java.lang.Object>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int bufferCount  
      protected LogBufferPool bufferPool  
      protected java.nio.ByteBuffer[] buffers  
      protected ByteBufferOutputStream stream  
      • Fields inherited from interface io.deephaven.base.log.LogOutput

        APPENDABLE_COLLECTION_FORMATTER, BASIC_FORMATTER, BOOLEAN_ARRAY_FORMATTER, INT_ARRAY_FORMATTER, LOCAL_DATE_TIME_FORMATTER, MILLIS_FROM_EPOCH_FORMATTER, millisFormatter, NULL, NULL_TERMINATED_STRING_FORMATTER, SOCKADDR_FORMATTER, STRING_ARRAY_FORMATTER, STRING_COLLECTION_FORMATTER
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.nio.ByteBuffer acceptBuffer​(java.nio.ByteBuffer b, int need)
      Dispose of the contents of the buffer b, probably by writing them to a channel, and return a new buffer in which writing can continue.
      io.deephaven.base.log.LogOutput clear()  
      io.deephaven.base.log.LogOutput close()  
      void close​(java.nio.ByteBuffer b)
      Dispose of the contents of the final buffer in an output sequence, probably by writing them to a channel.
      java.nio.ByteBuffer getBuffer​(int i)  
      int getBufferCount()  
      int getEndOfHeaderOffset()  
      io.deephaven.base.log.LogOutput markEndOfHeader()  
      int relativeSize()  
      int size()  
      io.deephaven.base.log.LogOutput start()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface io.deephaven.base.log.LogOutput

        append, append, append, append, append, append, append, append, append, append, append, append, append, append, append, append, append, append, append, append, append, append, appendDouble, appendDouble, appendTimestamp, appendTimestampMicros, nf, nl
    • Field Detail

      • buffers

        protected java.nio.ByteBuffer[] buffers
      • bufferCount

        protected int bufferCount
    • Constructor Detail

      • LogOutputBaseImpl

        public LogOutputBaseImpl​(LogBufferPool bufferPool)
    • Method Detail

      • markEndOfHeader

        public io.deephaven.base.log.LogOutput markEndOfHeader()
        Specified by:
        markEndOfHeader in interface io.deephaven.base.log.LogOutput
      • getEndOfHeaderOffset

        public int getEndOfHeaderOffset()
        Specified by:
        getEndOfHeaderOffset in interface io.deephaven.base.log.LogOutput
      • acceptBuffer

        public java.nio.ByteBuffer acceptBuffer​(java.nio.ByteBuffer b,
                                                int need)
                                         throws java.io.IOException
        Description copied from interface: ByteBufferSink
        Dispose of the contents of the buffer b, probably by writing them to a channel, and return a new buffer in which writing can continue. The returned buffer must have at least need bytes of space remaining. The return value may be the same buffer, as long as it's remaining() value has been increased to be >= need.
        Specified by:
        acceptBuffer in interface ByteBufferSink
        Parameters:
        b - the buffer whose contents need to be disposed of.
        Returns:
        the buffer in which further output should be written.
        Throws:
        java.io.IOException
      • close

        public void close​(java.nio.ByteBuffer b)
                   throws java.io.IOException
        Description copied from interface: ByteBufferSink
        Dispose of the contents of the final buffer in an output sequence, probably by writing them to a channel. Note that the argument buffer may be empty. Then do whatever it takes to release the resources of the sink, probably by closing a channel.
        Specified by:
        close in interface ByteBufferSink
        Throws:
        java.io.IOException
      • start

        public io.deephaven.base.log.LogOutput start()
        Specified by:
        start in interface io.deephaven.base.log.LogOutput
      • close

        public io.deephaven.base.log.LogOutput close()
        Specified by:
        close in interface io.deephaven.base.log.LogOutput
      • relativeSize

        public int relativeSize()
        Specified by:
        relativeSize in interface io.deephaven.base.log.LogOutput
      • size

        public int size()
        Specified by:
        size in interface io.deephaven.base.log.LogOutput
      • getBufferCount

        public int getBufferCount()
        Specified by:
        getBufferCount in interface io.deephaven.base.log.LogOutput
      • getBuffer

        public java.nio.ByteBuffer getBuffer​(int i)
        Specified by:
        getBuffer in interface io.deephaven.base.log.LogOutput
      • clear

        public io.deephaven.base.log.LogOutput clear()
        Specified by:
        clear in interface io.deephaven.base.log.LogOutput