Interface SegmentWriteOutMedium
-
- All Superinterfaces:
AutoCloseable
,Closeable
- All Known Implementing Classes:
OffHeapMemorySegmentWriteOutMedium
,OnHeapMemorySegmentWriteOutMedium
,TmpFileSegmentWriteOutMedium
public interface SegmentWriteOutMedium extends Closeable
SegmentWriteOutMedium is an umbrella "resource disposer" for temporary buffers (in the form ofWriteOutBytes
, obtained by callingmakeWriteOutBytes()
on the SegmentWriteOutMedium instance), that are used during new Druid segment creation, and other resources (seegetCloser()
). When SegmentWriteOutMedium is closed, all child WriteOutBytes couldn't be used anymore.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Closer
getCloser()
Returns a closer of this SegmentWriteOutMedium, which is closed in this SegmentWriteOutMedium's close() method.SegmentWriteOutMedium
makeChildWriteOutMedium()
Creates a 'child' version of theSegmentWriteOutMedium
, which can be optionally closed, independent of thisSegmentWriteOutMedium
but otherwise shares the same configuration.WriteOutBytes
makeWriteOutBytes()
Creates a new emptyWriteOutBytes
, attached to this SegmentWriteOutMedium.
-
-
-
Method Detail
-
makeWriteOutBytes
WriteOutBytes makeWriteOutBytes() throws IOException
Creates a new emptyWriteOutBytes
, 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 theSegmentWriteOutMedium
, which can be optionally closed, independent of thisSegmentWriteOutMedium
but otherwise shares the same configuration. This allows callers using a sharedSegmentWriteOutMedium
but which control the complete lifecycle of theWriteOutBytes
which they require to free the backing resources when they are finished, rather than waiting untilCloseable.close()
is called for this medium. The 'child' medium will be closed whenCloseable.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.
-
-