Package com.illumon.iris.binarystore
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 Summary
Modifier and Type Method Description void
close()
Close this ChannelManager.void
flush()
Flush this ChannelManager.static GatheringByteChannel
getChannelForPartition(ChannelManager channelManager, String partitionValue)
-
Method Details
-
close
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
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
-