Interface ReadableChannel<A>

Type Parameters:
A -
All Superinterfaces:
AutoCloseable, Channel, Closeable, HasArrayOps<A>, ReadableSource<A>
All Known Subinterfaces:
SeekableReadableChannel<A>
All Known Implementing Classes:
BufferOverReadableChannel.Channel, ReadableChannelBase, ReadableChannelConcat, ReadableChannelDecoratorBase, ReadableChannelLocking, ReadableChannelOverIterator, ReadableChannelOverNio, ReadableChannelOverReadableSource, ReadableChannelOverSliceAccessor, ReadableChannelOverSliceWithCache, ReadableChannelSwitchable, ReadableChannelSwitchableBase, ReadableChannelTracker, ReadableChannelWithConditionalBound, ReadableChannelWithCounter, ReadableChannelWithLimit, ReadableChannelWithLimitByDelimiter, ReadableChannelWithSkipDelimiter, ReadableChannelWithValue, SeekableReadableChannelBase, SeekableReadableChannelDecoratorBase, SeekableReadableChannelLocking, SeekableReadableChannelOmitBlockMarker, SeekableReadableChannelOverBuffer, SeekableReadableChannelOverNio, SeekableReadableChannelOverReadableChannel, SeekableReadableChannelSwitchable, SeekableReadableChannelWithLimit, SeekableReadableChannelWithMonitor, SeekableReadableChannelWithOffset

public interface ReadableChannel<A> extends ReadableSource<A>, Channel
A data stream allows for repeated retrieval of arrays of consecutive items. Data streams can be seen as a low level generalizaton / unification of Iterators and InputStreams. See ReadableChannels.newIterator(ReadableChannel) and ReadableChannels.newInputStream(ReadableChannel). Akin to an InputStream, the ReadableChannel interface does not provide a seek() method. Usually there should be another factory that creates data streams for given offsets. The reason is, that a sequential reader is typically backed by a stream of items (such as a http response, or a sql/sparql result set) and that stream needs to be re-created when jumping to arbitrary offsets.
Author:
Claus Stadler, Feb 17, 2022