Interface SegmentWriteOutMedium

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
LegacyTmpFileSegmentWriteOutMedium, OffHeapMemorySegmentWriteOutMedium, OnHeapMemorySegmentWriteOutMedium, TmpFileSegmentWriteOutMedium

public interface SegmentWriteOutMedium extends Closeable
SegmentWriteOutMedium is an umbrella "resource disposer" for temporary buffers (in the form of WriteOutBytes, obtained by calling makeWriteOutBytes() on the SegmentWriteOutMedium instance), that are used during new Druid segment creation, and other resources (see getCloser()).

When SegmentWriteOutMedium is closed, all child WriteOutBytes couldn't be used anymore.

  • Method Details

    • makeWriteOutBytes

      WriteOutBytes makeWriteOutBytes() throws IOException
      Creates a new empty WriteOutBytes, attached to this SegmentWriteOutMedium. When this SegmentWriteOutMedium is closed, the returned WriteOutBytes couldn't be used anymore.
      Throws:
      IOException
    • makeChildWriteOutMedium

      SegmentWriteOutMedium makeChildWriteOutMedium() throws IOException
      Creates a 'child' version of the SegmentWriteOutMedium, which can be optionally closed, independent of this SegmentWriteOutMedium but otherwise shares the same configuration. This allows callers using a shared SegmentWriteOutMedium but which control the complete lifecycle of the WriteOutBytes which they require to free the backing resources when they are finished, rather than waiting until Closeable.close() is called for this medium.

      The 'child' medium will be closed when Closeable.close() is called, if not called explicitly prior to closing this medium.

      Throws:
      IOException
    • getCloser

      Closer getCloser()
      Returns a closer of this SegmentWriteOutMedium, which is closed in this SegmentWriteOutMedium's close() method. Could be used to "attach" some random resources to this SegmentWriteOutMedium, to be closed at the same time.