Interface ChannelManager

All Known Subinterfaces:
ChannelManagerMultiPartition, ChannelManagerStandard
All Known Implementing Classes:
BinaryStoreAggregatorWriterMultiPartition, BinaryStoreAggregatorWriterStandard, MultiPartitionFileManager, RollingFileManager, RollingFileManagerBase, RollingFileManagerWithDateColumnPartition, RollingFileManagerWithSpecifiedColumnPartition

public interface ChannelManager
Manage writable channels. Sub-interfaces will define how the channels will determine their channels. Each derived interface will contain a getChannel definition to return a WritableByteChannel. Implementors have the opportunity to change the channel in use, such as automatically rolling files on time intervals or determining channels based on dynamic column partition values.
  • Method Details

    • close

      void close() throws IOException
      Close this ChannelManager. If the implementation supports multiple channels, an attempt will be made to close all channels. If an IOException occurs on one or more channels, the first one will be rethrown, but the operation will still be attempted on all remaining channels. If an exception occurs that is not an IOException, that exception will be thrown and operations on remaining channels may not be attempted.
      Throws:
      IOException - from the close operations
    • flush

      void flush() throws IOException
      Flush this ChannelManager. If the implementation supports multiple channels, all channels will be flushed. If an IOException occurs on one or more channels, the first one will be rethrown, but the operation will still be attempted on all remaining channels. If an exception occurs that is not an IOException, that exception will be thrown and operations on remaining channels may not be attempted.
      Throws:
      IOException - from the close operations
    • getChannelForPartition

      @NotNull static GatheringByteChannel getChannelForPartition​(ChannelManager channelManager, String partitionValue) throws IOException
      Throws:
      IOException