public final class NioOutboundPipeline extends NioPipeline implements Supplier<OutboundFrame>, OutboundPipeline
| Modifier and Type | Field and Description |
|---|---|
Queue<OutboundFrame> |
priorityWriteQueue |
Queue<OutboundFrame> |
writeQueue |
channel, LOAD_BALANCING_BYTE, LOAD_BALANCING_FRAME, LOAD_BALANCING_HANDLE, loadType, logger, owner, processCount, selectionKey, socketChannel| Modifier and Type | Method and Description |
|---|---|
OutboundPipeline |
addLast(OutboundHandler... addedHandlers)
Adds the handlers at the end of the pipeline
No verification is done if the handler is already added and a handler
should only be added once.
|
long |
bytesPending() |
OutboundFrame |
get() |
protected Iterable<? extends ChannelHandler> |
handlers()
Returns an Iterable that can iterate over each
ChannelHandler of
the pipeline. |
long |
lastWriteTimeMillis() |
long |
load()
Get 'load' recorded by the current pipeline.
|
long |
priorityBytesPending() |
void |
process()
Called when the pipeline needs to be processed.
|
protected void |
publishMetrics() |
OutboundPipeline |
remove(OutboundHandler handler)
Removes the given handler from the pipeline.
|
OutboundPipeline |
replace(OutboundHandler oldHandler,
OutboundHandler... addedHandlers)
Replaces the old OutboundHandler by the new ones.
|
String |
toString() |
int |
totalFramesPending() |
OutboundPipeline |
wakeup()
Request to flush all data to flush from the handlers to
the network.
|
void |
write(OutboundFrame frame) |
getChannel, onError, owner, requestMigration, runpublic final Queue<OutboundFrame> writeQueue
public final Queue<OutboundFrame> priorityWriteQueue
public long load()
MigratablePipelineNioThreadload in interface MigratablePipelinepublic int totalFramesPending()
public long lastWriteTimeMillis()
public long bytesPending()
public long priorityBytesPending()
public void write(OutboundFrame frame)
public OutboundFrame get()
get in interface Supplier<OutboundFrame>public void process()
throws Exception
NioPipelineAny exception that leads to a termination of the connection like an IOException should not be dealt with in the handle method but should be propagated. The reason behind this is that the handle logic already is complicated enough and by pulling it out the flow will be easier to understand.
Exceptionprotected void publishMetrics()
protected Iterable<? extends ChannelHandler> handlers()
NioPipelineChannelHandler of
the pipeline.
This method is called only by the NioPipeline.onError(Throwable).
handlers in class NioPipelinepublic OutboundPipeline remove(OutboundHandler handler)
OutboundPipelineremove in interface OutboundPipelinehandler - the handler to remove.public OutboundPipeline addLast(OutboundHandler... addedHandlers)
OutboundPipelineaddLast in interface OutboundPipelineaddedHandlers - the handlers to add.public OutboundPipeline replace(OutboundHandler oldHandler, OutboundHandler... addedHandlers)
OutboundPipelinereplace in interface OutboundPipelineoldHandler - the handlers to replaceaddedHandlers - the new handlers to insert.public OutboundPipeline wakeup()
OutboundPipelinewakeup in interface OutboundPipelineCopyright © 2020 Hazelcast, Inc.. All Rights Reserved.