Package org.apache.druid.frame.channel
Class ReadableNilFrameChannel
- java.lang.Object
-
- org.apache.druid.frame.channel.ReadableNilFrameChannel
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,ReadableFrameChannel
public class ReadableNilFrameChannel extends Object implements ReadableFrameChannel
Empty channel.
-
-
Field Summary
Fields Modifier and Type Field Description static ReadableNilFrameChannel
INSTANCE
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.Frame
read()
Returns the next available frame from this channel.com.google.common.util.concurrent.ListenableFuture<?>
readabilityFuture()
Returns a future that will resolve when eitherReadableFrameChannel.isFinished()
orReadableFrameChannel.canRead()
would return true.
-
-
-
Field Detail
-
INSTANCE
public static final ReadableNilFrameChannel INSTANCE
-
-
Method Detail
-
isFinished
public boolean isFinished()
Description copied from interface:ReadableFrameChannel
Returns whether this channel is finished. Finished channels will not generate any further frames or errors. Generally, once you discover that a channel is finished, you should callReadableFrameChannel.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. SeeReadableFrameChannel.readabilityFuture()
for details.- Specified by:
isFinished
in interfaceReadableFrameChannel
-
canRead
public boolean canRead()
Description copied from interface:ReadableFrameChannel
Returns whether this channel has a frame or error condition currently available. If this method returns true, then you can callReadableFrameChannel.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. SeeReadableFrameChannel.readabilityFuture()
for details.- Specified by:
canRead
in interfaceReadableFrameChannel
-
read
public Frame read()
Description copied from interface:ReadableFrameChannel
Returns the next available frame from this channel. Before calling this method, you should checkReadableFrameChannel.canRead()
to ensure there is a frame or error available.- Specified by:
read
in interfaceReadableFrameChannel
-
readabilityFuture
public com.google.common.util.concurrent.ListenableFuture<?> readabilityFuture()
Description copied from interface:ReadableFrameChannel
Returns a future that will resolve when eitherReadableFrameChannel.isFinished()
orReadableFrameChannel.canRead()
would return true. The future will never resolve to an exception. If something exceptional has happened, the exception can be retrieved fromReadableFrameChannel.read()
.- Specified by:
readabilityFuture
in interfaceReadableFrameChannel
-
close
public void close()
Description copied from interface:ReadableFrameChannel
Releases any resources associated with this readable channel. After calling this, you should not call any other methods on the channel.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceReadableFrameChannel
-
-