public class ReadableConcatFrameChannel extends Object implements ReadableFrameChannel
Iterator.next() is not called until the channel is actually ready
to be used.
The first channel is pulled from the iterator immediately upon construction.| Modifier and Type | Method and Description |
|---|---|
boolean |
canRead()
Returns whether this channel has a frame or error condition currently available.
|
void |
close()
Releases any resources associated with this readable channel.
|
boolean |
isFinished()
Returns whether this channel is finished.
|
static ReadableConcatFrameChannel |
open(Iterator<ReadableFrameChannel> channelIterator)
Creates a new concatenated channel.
|
Frame |
read()
Returns the next available frame from this channel.
|
com.google.common.util.concurrent.ListenableFuture<?> |
readabilityFuture()
Returns a future that will resolve when either
ReadableFrameChannel.isFinished() or ReadableFrameChannel.canRead() would
return true. |
public static ReadableConcatFrameChannel open(Iterator<ReadableFrameChannel> channelIterator)
public boolean isFinished()
ReadableFrameChannelReadableFrameChannel.close() and then
discard it.
Note that it is possible for a channel to be unfinished and also have no available frames or errors. This happens
when it is not in a ready-for-reading state. See ReadableFrameChannel.readabilityFuture() for details.isFinished in interface ReadableFrameChannelpublic boolean canRead()
ReadableFrameChannelReadableFrameChannel.read() to retrieve the frame or error.
Note that it is possible for a channel to be unfinished and also have no available frames or errors. This happens
when it is not in a ready-for-reading state. See ReadableFrameChannel.readabilityFuture() for details.canRead in interface ReadableFrameChannelpublic Frame read()
ReadableFrameChannelReadableFrameChannel.canRead() to ensure there is a frame or
error available.read in interface ReadableFrameChannelpublic com.google.common.util.concurrent.ListenableFuture<?> readabilityFuture()
ReadableFrameChannelReadableFrameChannel.isFinished() or ReadableFrameChannel.canRead() would
return true. The future will never resolve to an exception. If something exceptional has happened, the exception
can be retrieved from ReadableFrameChannel.read().readabilityFuture in interface ReadableFrameChannelpublic void close()
ReadableFrameChannelclose in interface Closeableclose in interface AutoCloseableclose in interface ReadableFrameChannelCopyright © 2011–2022 The Apache Software Foundation. All rights reserved.