public abstract class AbstractSinkConduit<D extends SinkConduit> extends AbstractConduit<D> implements SinkConduit
next
Modifier | Constructor and Description |
---|---|
protected |
AbstractSinkConduit(D next)
Construct a new instance.
|
Modifier and Type | Method and Description |
---|---|
void |
awaitWritable()
Block until this channel becomes writable again.
|
void |
awaitWritable(long time,
TimeUnit timeUnit)
Block until this conduit becomes writable again, or until the timeout expires.
|
boolean |
flush()
Flush out any unwritten, buffered output.
|
XnioIoThread |
getWriteThread()
Get the write thread for this conduit.
|
boolean |
isWriteResumed()
Determine whether write notifications are currently enabled.
|
boolean |
isWriteShutdown()
Determine whether writes have been fully shut down on this conduit.
|
void |
resumeWrites()
Indicate that the conduit's
WriteReadyHandler should be invoked as soon as data can be written
without blocking. |
void |
setWriteReadyHandler(WriteReadyHandler handler)
Set the handler which should receive readiness notifications.
|
void |
suspendWrites()
Indicate that calling the conduit's
WriteReadyHandler should be suspended. |
void |
terminateWrites()
Signal that no more write data is forthcoming.
|
void |
truncateWrites()
Terminate writes and discard any outstanding write data.
|
void |
wakeupWrites()
Indicate that the conduit's
WriteReadyHandler should be invoked immediately, and then again as soon
as data can be written without blocking. |
getWorker
protected AbstractSinkConduit(D next)
next
- the delegate conduit to setpublic void terminateWrites() throws IOException
SinkConduit
SinkConduit.flush()
ed before it is considered
to be shut down.terminateWrites
in interface SinkConduit
IOException
public boolean isWriteShutdown()
SinkConduit
isWriteShutdown
in interface SinkConduit
true
if writes are fully shut down, false
otherwisepublic void resumeWrites()
SinkConduit
WriteReadyHandler
should be invoked as soon as data can be written
without blocking.resumeWrites
in interface SinkConduit
public void suspendWrites()
SinkConduit
WriteReadyHandler
should be suspended.suspendWrites
in interface SinkConduit
public void wakeupWrites()
SinkConduit
WriteReadyHandler
should be invoked immediately, and then again as soon
as data can be written without blocking.wakeupWrites
in interface SinkConduit
public boolean isWriteResumed()
SinkConduit
isWriteResumed
in interface SinkConduit
true
if write notifications are enabledpublic void awaitWritable() throws IOException
SinkConduit
awaitWritable
in interface SinkConduit
InterruptedIOException
- if the operation is interrupted; the thread's interrupt flag will be set
as wellIOException
- if an I/O error occurspublic void awaitWritable(long time, TimeUnit timeUnit) throws IOException
SinkConduit
awaitWritable
in interface SinkConduit
time
- the time to waittimeUnit
- the time unitInterruptedIOException
- if the operation is interrupted; the thread's interrupt flag will be set
as wellIOException
- if an I/O error occurspublic XnioIoThread getWriteThread()
SinkConduit
getWriteThread
in interface SinkConduit
null
if none is configured or availablepublic void setWriteReadyHandler(WriteReadyHandler handler)
SinkConduit
setWriteReadyHandler
in interface SinkConduit
public void truncateWrites() throws IOException
SinkConduit
truncateWrites
in interface SinkConduit
IOException
- if channel termination failed for some reasonpublic boolean flush() throws IOException
SinkConduit
flush
in interface SinkConduit
true
if everything is flushed, false
otherwiseIOException
- if flush failsCopyright © 2019 JBoss by Red Hat. All rights reserved.