java.lang.Object
org.xnio.conduits.AbstractConduit<D>
org.xnio.conduits.AbstractSourceConduit<D>
- All Implemented Interfaces:
Conduit
,SourceConduit
- Direct Known Subclasses:
AbstractMessageSourceConduit
,AbstractStreamSourceConduit
,FramingMessageSourceConduit
,MessageStreamSourceConduit
public abstract class AbstractSourceConduit<D extends SourceConduit>
extends AbstractConduit<D>
implements SourceConduit
An abstract base class for filtering source conduits.
- Author:
- David M. Lloyd
-
Field Summary
Fields inherited from class org.xnio.conduits.AbstractConduit
next
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Block until this channel becomes readable again.void
awaitReadable
(long time, TimeUnit timeUnit) Block until this conduit becomes readable again, or until the timeout expires.Get the XNIO read thread.boolean
Determine whether read notifications are currently enabled.boolean
Determine whether reads have been shut down on this conduit.void
Indicate that the conduit'sReadReadyHandler
should be invoked as soon as data can be read without blocking.void
setReadReadyHandler
(ReadReadyHandler handler) Set the handler which should receive readiness notifications.void
Indicate that calling the conduit'sReadReadyHandler
should be suspended.void
Indicate that no more data will be read from this conduit.void
Indicate that the conduit'sReadReadyHandler
should be invoked immediately, and then again as soon as data can be read without blocking.Methods inherited from class org.xnio.conduits.AbstractConduit
getWorker
-
Constructor Details
-
AbstractSourceConduit
Construct a new instance.- Parameters:
next
- the delegate conduit to set
-
-
Method Details
-
terminateReads
Description copied from interface:SourceConduit
Indicate that no more data will be read from this conduit. If unread data exists, an exception may be thrown.- Specified by:
terminateReads
in interfaceSourceConduit
- Throws:
IOException
- if there was a problem
-
isReadShutdown
public boolean isReadShutdown()Description copied from interface:SourceConduit
Determine whether reads have been shut down on this conduit.- Specified by:
isReadShutdown
in interfaceSourceConduit
- Returns:
true
if writes are shut down,false
otherwise
-
resumeReads
public void resumeReads()Description copied from interface:SourceConduit
Indicate that the conduit'sReadReadyHandler
should be invoked as soon as data can be read without blocking.- Specified by:
resumeReads
in interfaceSourceConduit
-
suspendReads
public void suspendReads()Description copied from interface:SourceConduit
Indicate that calling the conduit'sReadReadyHandler
should be suspended.- Specified by:
suspendReads
in interfaceSourceConduit
-
wakeupReads
public void wakeupReads()Description copied from interface:SourceConduit
Indicate that the conduit'sReadReadyHandler
should be invoked immediately, and then again as soon as data can be read without blocking.- Specified by:
wakeupReads
in interfaceSourceConduit
-
isReadResumed
public boolean isReadResumed()Description copied from interface:SourceConduit
Determine whether read notifications are currently enabled.- Specified by:
isReadResumed
in interfaceSourceConduit
- Returns:
true
if read notifications are enabled
-
awaitReadable
Description copied from interface:SourceConduit
Block until this channel becomes readable again. This method may return spuriously before the channel becomes readable.- Specified by:
awaitReadable
in interfaceSourceConduit
- Throws:
InterruptedIOException
- if the operation is interrupted; the thread's interrupt flag will be set as wellIOException
- if an I/O error occurs
-
awaitReadable
Description copied from interface:SourceConduit
Block until this conduit becomes readable again, or until the timeout expires. This method may return spuriously before the conduit becomes readable or the timeout expires.- Specified by:
awaitReadable
in interfaceSourceConduit
- Parameters:
time
- the time to waittimeUnit
- the time unit- Throws:
InterruptedIOException
- if the operation is interrupted; the thread's interrupt flag will be set as wellIOException
- if an I/O error occurs
-
getReadThread
Description copied from interface:SourceConduit
Get the XNIO read thread.- Specified by:
getReadThread
in interfaceSourceConduit
- Returns:
- the XNIO read thread
-
setReadReadyHandler
Description copied from interface:SourceConduit
Set the handler which should receive readiness notifications. A filter may pass this invocation on to the filter it wraps, or it may substitute itself.- Specified by:
setReadReadyHandler
in interfaceSourceConduit
-